J'écris un jeu où vous continuez à appuyer sur l'écran pour faire voler un hélicoptère. Maintenant, lorsque l'hélicoptère entre en collision avec l'écran-frontières (Hight & largeur du dispositif individuel) l'activité se termine paronTouchEvent() provoque "malheureusement l'application s'est arrêtée"
((Activity) context).finish();
Il fonctionne parfaitement bien quand le joueur arrête fastly après la collision, mais s'il tient, je reçois l'erreur détestée.
Thant est pourquoi je soupçonne que la onTouchEvent méthode
@Override
public boolean onTouchEvent(MotionEvent event) {
// background music
mp.start();
mp.setLooping(true);
copter.setVolume((float) 0.2, (float) 0.2);
if (event.getAction() == MotionEvent.ACTION_DOWN && fuel > 0) {
copter.start();
copter.setLooping(true);
if (!player.getPlaying()) {
player.setPlaying(true);
player.setUp(true);
fuel--;
} else {
player.setUp(true);
fuel--;
}
return true;
}
if (event.getAction() == MotionEvent.ACTION_UP) {
copter.pause();
player.setUp(false);
return true;
}
return super.onTouchEvent(event);
}
Est-il possible d'ignorer TouchEvents après une collision? Ou l'OnTouchEvent n'est même pas le problème?
Pas besoin de soupçonner quoi que ce soit. Allez voir votre journal d'application. Là, vous verrez exactement où l'accident est arrivé. – Okas
s'il vous plaît partager la trace de la pile d'erreur de logcat – Opiatefuchs