Page 1 sur 1

La boucle de jeu tourne mais le joueur ne bouge pas

Posté : 22 janv. 2026, 08:15
par lucassinner
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

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

Posté : 22 janv. 2026, 09:06
par webmaster
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;
});