Dans onTouchEvent, ACTION_UP ne fonctionne pas
J'aimerais lire quand un joueur touche l'écran, et quand ne pas.
@Override
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_UP){ //ACTION UP
actionOnUP = true;
Log.v("MC", "Up");
}
if(event.getAction() == 0){ //ACTION DOWN
actionOnUP = false;
Log.v("MC", "Down");
}
Log.v("MC", event.getAction() + " ");
return super.onTouchEvent(event);
}
Ce code, oui, cela fonctionne, mais seulement quand le joueur de l'écran tactile (ACTION_DOWN), mais quand il n'a pas besoin de toucher l'écran (ACTION_UP), rien ne se passe :/
^ C'est la forme de l'écran LogCat. Vous pouvez le voir: ce n'est ACTION_DOWN, mais rien sur ACTION_UP.
La classe est l'extension de Vue:
public class MainClass extends SurfaceView implements SurfaceHolder.Callback {
Pouvez-vous m'aider?
EDIT: Mon jeu est basé sur ce tutoriel: http://www.droidnova.com/2d-tutorial-series-part-v,848.html
OriginalL'auteur user1019901 | 2012-09-25
Vous devez vous connecter pour publier un commentaire.
Ma conjecture est que le super.onTouchEvent est de retour
false
, quelle que soit la superclasse vous appelez ne se soucie pas de l'événement tactile.Si vous retournez
false
à onTouchEvent, puis le système d'exploitation Android n'auront plus de vous avertir de tout autres événements dans son geste. Si vous voulez continuer à recevoir événement tactile de l'information (ACTION_UP
par exemple), alors vous devez retournertrue
pour la premièreACTION_DOWN
événement.Il sent vraiment très bon pour obtenir un bon, complet, instructif réponse à votre problème. 🙂 Merci @Tim!
Juste ce dont j'avais besoin! Merci!
OriginalL'auteur Tim
"petey"'s solution a fonctionné pour moi !
À l'exception de quelques erreurs de syntaxe, corrigé ici :
Merci beaucoup.
OriginalL'auteur Yann Deydier
essayer :
OriginalL'auteur petey