Collision java 3d

Fermé
mizamiza - 27 août 2011 à 17:42
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 28 août 2011 à 16:10
Bonjour,




j'ai un snake et je dois gerrer sa collision avec les differents éléments de l'environnement , le probleme c que je ne peux pas distinguer entre les differents éléments car chacun exige un traitement particulier, y'a t-il un moyen pour savoir avec quel objet le snake est t il en collision
merci d'avance
A voir également:

3 réponses

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
27 août 2011 à 17:51
Si ton code est bien fait, tout tes obstacles devraient hériter d'une classe commune, ou implémenter une interface, qui te permet de spécialiser le traitement de chacun d'eux et ainsi les traiter sans savoir a priori quel obstacle en particulier est touché.
Sinon, il te faudra déterminer quel est la classe de l'obstacle avec instanceof et gérer exhaustivement les différents cas possibles, mais ce n'est pas très POO...
1
mizamiza Messages postés 5 Date d'inscription vendredi 29 juillet 2011 Statut Membre Dernière intervention 28 août 2011
28 août 2011 à 15:50
merci KX :)
0
mizamiza Messages postés 5 Date d'inscription vendredi 29 juillet 2011 Statut Membre Dernière intervention 28 août 2011
28 août 2011 à 16:00
ben j'arrive pas vraiment à voir les choses KX , en fait j'ai essayé ça
"entreZoneCollision.getTriggeringPath().getObject().getUserData()" avec protected WakeupOnCollisionEntry entreZoneCollision;

tout en ayant nommé les éléments de mon interface mais ça donne null :/
merci d'avance
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
28 août 2011 à 16:10
Il faudrait voir un peu plus de code pour t'aider. En particulier comment crées-tu les obstacles ou ton serpent (à quelles classes appartiennent-ils, à quel moment sont-ils utilisés), en quoi entreZoneCollision intervient là dedans... On ne peut pas deviner ton code !
0