Bonjour à tous, j'avance super bien sur mon snake fait en JS depuis ces derniers jours !
A ce jour, j'ai une bonne liste d'améliorations que j'imagine:

  • creer une boite pour le score
  • creation de menu
  • mode multijoueur

- acceleration si on maintient une touche

  • deux differentes pommes (avec une qui augmente le score mais disparait en 3 secondes)

Comme en atteste mon titre, je me pose des questions quand à la gestion d'une acceleration de mon serpent si je maintiens par exemple ma touche droite de mon clavier ! Je n'ai même aucune idée des fonctions que je pourrais utiliser pour gérer ça.

En aurez-vous à me proposer pour que je me renseigne sur elles?
Merci d'avance ! Et n'hésitez pas à me dire si ma demande manque de clareté.
Bonne journée à vous !

3 réponses


tleb
Réponse acceptée

En fait, c'est pour ça que je demande. Si il utilise un framework, il peut avoir une fonction qui s'exécute à chaque frame, et dans ce cas, la solution est vraiment simple.

Salut,

Il y a un problème majeur dans ton sujet : on n'est pas au courant de ton projet. Il nous faudrait bien plus d'infos avant de pouvoir te répondre. Tu utilises un 2D engine genre Quintis, Pixi, Phaser ? Une lib pour manipuler un canvas facilement genre p5.js ? Les mouvements sont-ils libres ou il y a une grille ?

hello,
en effet c un peu flou mais je verrais juste un ti interval lancé lors du keydown qui incrémenterait la vitesse jusqu'à une vitesse max, qui une fois atteinte clear l'interval ; et lors du keyup, redéfinition de la vitesse initiale et clearInterval si besoin...