Question

Je travaille sur un jeu de plateforme pour l'iPhone qui utilise Box2D et Cocos2d.

Je suis en train de trouver un moyen de créer un comportement similaire pour mon personnage contrôlé comme on en trouve dans les Sonic the jeux Hedgehog, mais maintenir l'utilisation de la bibliothèque de la physique Box2D que je veux des projectiles et des objets de niveau à se comporter selon la physique réaliste, ainsi que certaines situations impliquant le caractère contrôlé (saut, fonçant en objets, etc.).

Les principaux problèmes que je suis en cours d'exécution en gardent le caractère sur le terrain lors du passage sur des courbes convexes et maintenir un sens du contact avec le sol jusqu'à une distance importante de celle-ci est atteint. Je ne veux que le caractère de réagir aux commandes gauche et à droite quand sur le terrain, mais ma forme a tendance à quitter le sol en allant sur de légères courbes telles que le temps de réaction est retardée brièvement jusqu'à ce que nous contact rétabli. Visuellement il n'y a pas de séparation, mais il est assez grand pour changer l'état d'être sur le terrain ou non. En outre, le personnage ne pas plus grand « hug » courbes comme je voudrais.

J'ai essayé d'exercer une force vers le bas supplémentaire lorsque sur le terrain, mais il ne fonctionne pas assez rapidement pour les grandes courbes, et les forces assez grandes pour être interférer efficace avec le mouvement régulier du caractère. Toute réflexion sur ces questions?

Était-ce utile?

La solution

Dans mon expérience, obtenir vrai sentiment comme console, vous devez créer la physique réaliste, pour les personnages des joueurs en particulier.

Je crois en box2d vous pouvez utiliser des impulsions pour pirater le système de mouvement, tout en ayant accès à la détection de collision. Il était ça ou faire de votre personnage un objet non mobile, et de faire le mouvement vous-même. J'oublie ce qui semblait fonctionner pour moi. Cela fait quelques mois?). Je crois que je aussi fait quelques dirimant de vecteurs sur l'axe y dans certains cas, pour corriger les bugs (pistes)

Si votre mouvement fonctionne correctement pour le cas général, vous pouvez faire un mouvement au contact du sol avec une courbe est un cas particulier, où vous gérez vous-même vos physique, et ne traînent dans le monde réel pour la détection de collision.

Une autre option est de faire la plupart des objets utilisent la physique « faux », et utiliser box2d uniquement pour la détection de collision, ou pour des objets « réalistes ».

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