Soy bastante nuevo en la codificación y constantemente me he encontrado con un problema. Cuando hago un juego, como Snake o pong, tiendo a usar un detector de eventos para escuchar un evento de pulsación como: document.body.addEventListener("keydown", moveSnake); . Luego procedo a declarar la función moveSnake :
function moveSnake(event){ switch(event.keyCode){ case 87: break; case 83: break; case 65: break; case 68: break; default: break; } } Entiendo que todavía no hay un código que le diga a la serpiente qué hacer. Una vez que hago esto, aparece un problema recurrente. Mi programa se detiene y aparece un mensaje de error en mi consola que dice: Cannot read properties of undefined (reading 'keyCode') . Estoy usando la última versión de Google Chrome y si alguien pudiera decirme qué estoy haciendo mal, se lo agradecería mucho. Intenté declarar el código de clave como una variable, y muchas otras sugerencias que encontré aleatoriamente en línea, pero nada funcionó. ¡Gracias!
El .keyCode ha quedado obsoleto debido a la inconsistencia en los navegadores. ( https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode )
Puede probar con el .code, que nombra las teclas como "Flecha arriba", "Flecha izquierda", "Flecha derecha" y "Flecha abajo".