Direction et animation

Bonjour, voila quelques heures que j’utilise ce magnifique logiciel. J’essaye de créer un petit jeu histoire de comprendre le principe, j’ai déjà fait le tuto.

Voici en image ou se situe mon problème.

Lorsque j’active uniquement l’évènement 1 et 2, mon perso se déplace et l’animation s’effectue. Pareillement, avec le 3 et 4 d’activé tout fonctionne.

Par contre les 4 activés ne fonctionnent pas. Mon perso se déplace mais l’anim bug.

Je ne comprend rien …

Merci d’avance pour votre aide.

Bonjour,
Je vais t’expliquer, c’est une erreur assez facile à comprendre.

Imagine que tu appuies sur la touche “Right”. Game Develop lit les événements dans l’ordre, de 1 à 4. Ce qui fait :

  • Est-ce que la touche Right est appuyée ? OUI, donc je mets 0 à la direction de Zelda, 1 à l’animation …
  • Est-ce que la touche Right n’est pas appuyée ? NON, elle est appuyée, donc, je fais rien.
  • Est-ce que la touche Left est appuyée ? NON, donc je fais encore rien.
  • Est-ce que la touche Left n’est pas appuyée ? OUI, elle n’est pas appuyée, donc, je met l’animation à 0.

Donc, au final, l’animation de Zelda revient à 0.
Il faut plutôt tester si Right n’est pas appuyée ET si Left n’est pas appuyé. En fait, Il faut regrouper les événements 2 et 4. :wink:

ok je comprend mieux, le fait d’inverser la condition d’appui sur une touche ne reviens pas a dire “si la touche est relacheée”, c’est ce que je croyais.

En fait l’action se deroule quoi qu’il arrive puisque la touche est constament “pas appuyée”.

Merci pour ton aide.

Il faudrait aussi rajouter un chronometre, genre 0.1 seconde.
Ca évitera que GD enchaine trop vite les autres instructions après un appui touche.

Et ce n’est pas le sol qui doit se déplacer, c’est le perso.
La force doit donc s’appliquer au perso.
Rajoute à la fin un évènement “toujours” qui centre la caméra sur le perso.

Ce sera beaucoup plus simple à gérer quand tu auras un décor avec des objets et des ennemis.

Uh ? Pourquoi se compliquer la vie avec un chronomètre ici ?

Evitez que le moteur vérifie des conditions pour rien.
Puisque de toutes façons, le joueur ne peut pas réagir aussi vite, je mettrais un chrono pour verrouiller l’appui-touche.

Ca donnerait :

Si chrono > 0.1
si right appuyé : ajouter force à perso - remettre le chrono à zéro
si left appuyé : ajouter force à perso - remettre le chrono à zéro
etc…

Je crois que le chrono ralentirait plus le moteur que les conditions de test sur la souris.

Et en plus, on ne pourrait pas laisser appuyer sur une touche pour avancer en continu, non ?

Ca me parait un peu de la (micro) (contre) optimisation (prématurée), mais c’est à chacun de voir.
( A savoir que l’impact doit être minime, si ce n’est pas contre performant carrément, et ça ralentit surtout le développement pour pas grand chose. Ce genre ““d’optimisation”” peut être faite plus tard quand le jeu souffre de ses performances ).