11540 sujets

JavaScript, DOM et API Web HTML5

Bonjours à tous,

Je suis en train de faire des expériences, et je suis sur la création d'un système pour déplacer un personnage que vous pouvez voir ici :

http://www.sdfi.fr/jeu/


Je rencontre quelques difficultés sur ces points ci :

- Comment répéter l'animation tans que la touche est enfoncer ?
- Comment stopper l'animation quand on relâche la touche mais qu'il fini bien son déplacement de 32 pixels ?

J'ai essayer de faire des gestion avec le keyup en fesant des .stop() sur fonction mais je pense que pour atteindre ce que je souhaite faire et avoir un déplacement fluide du personnage, il faudrait avoir recours a des boucles ? qu'est ce que vous en pensez ?

Voir les sources si ca peut vous permettre de m'aider :

http://www.sdfi.fr/jeu-v0.1.zip
Modérateur
Oooooh Sangoku! Smiley langue

Le mieux serait effectivement de tout mettre dans une boucle setInterval.

à chaque occurrence tu changes l'image et déplace goku.

à chaque fin de cycle tu vérifie s'il n'y a pas d'obstacle ou de touches levée, si c'est le cas tu stoppe la boucle.

Par contre la touche enfoncée va continuer à envoyer des évènements répétés, il faut vérifier qu'il n'y ait pas de boucle en cours pour pas les lancer de multiples fois si non il va se mettre à accélérer comme un fou.