La boucle de jeu tourne mais le joueur ne bouge pas

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
lucassinner
Messages : 2
Enregistré le : 15 juil. 2025, 13:08

La boucle de jeu tourne mais le joueur ne bouge pas

Message par lucassinner » 22 janv. 2026, 08:15

Bonjour à tous,
Je travaille sur un petit jeu en JavaScript et je bloque sur un problème assez étrange.
Le jeu se lance correctement et la boucle tourne, mais le personnage ne se déplace pas quand j’utilise les flèches du clavier. Aucune erreur dans la console, juste aucun mouvement.

Code : Tout sélectionner

let player = { x: 100, y: 100, speed: 3 };
let keys = {};

document.addEventListener("keydown", e => {
  keys[e.key] = true;
});

document.addEventListener("keyup", e => {
  keys[e.key] = false;
});

function update() {
  if (keys["ArrowLeft"])  player.x - player.speed;
  if (keys["ArrowRight"]) player.x + player.speed;
  if (keys["ArrowUp"])    player.y - player.speed;
  if (keys["ArrowDown"])  player.y + player.speed;
}

function gameLoop() {
  update();
  requestAnimationFrame(gameLoop);
}

gameLoop();
Le joueur s’affiche bien à l’écran, mais il reste toujours au même endroit.
Geometry Dash

Avatar du membre
webmaster
Administrateur du site
Messages : 644
Enregistré le : 28 févr. 2017, 15:19

Re: La boucle de jeu tourne mais le joueur ne bouge pas

Message par webmaster » 22 janv. 2026, 09:06

Bonjour

Il faut ajouter des log dans la console pour voir si les events sont bien détectés
Ensuite, la valeur de e.key est sans doute mauvaise

Code : Tout sélectionner

document.addEventListener("keydown", e => {
  console.log("e.key="+e.key);
  keys[e.key] = true;
});
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Répondre