Obtenir événement tactile approprié sur sprite multiples dans le jeu en utilisant AndEngine

StackOverflow https://stackoverflow.com/questions/8818122

  •  27-10-2019
  •  | 
  •  

Question

Je fais un jeu en utilisant AndEngine dans Android, dans ce jeu différents sprites (œufs) se déplacent ici et là screen.i veux événement tactile de chaque sprite indépendamment, parfois quand on est sur une autre sprite onAreaTouched alors ( ) donner événement contact des deux sprites, dans le cas où je reviens ici fausse ou super.onAreaTouched (), si je reviens ici vrai, alors une image-objet en mouvement sur la zone qui est enregistré pour un autre sprite ne pouvait pas donner à l'événement tactile

Alors, quelle est la façon appropriée d'obtenir événement tactile de sprite seulement montré supérieur.

Était-ce utile?

La solution

L'autre approche que vous pouvez utiliser est un IOnSceneTouchListener, avec la méthode onSceneTouchEvent. Vous pouvez obtenir le X & Y du paramètre pTouchEvent et vérifier si un sprite contient.

Maintenant, si vous ne saviez pas, chaque entité a une liste des enfants (Et votre scène est une entité). Lorsqu'une entité se dessine, elle appelle également les méthodes de dessin des enfants. Les méthodes de dessin des enfants sont appelés à partir de la première méthode de l'enfant à la dernière (que leur ordre dans la liste); Par conséquent, le premier enfant sur la liste est établie en premier. Le dernier est établi dernier. Alors le dernier aura toujours passer outre toute autre entité est tirée par dessus.

Alors, itérateur sur la liste des enfants de la scène des derniers enfants à la première. Si l'un sprite contient le point de contact, laissez-le gérer l'événement et return true pour dire que vous avez consommé de l'événement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top