Javascript keyDown: enfoque sin evento

8

Estoy haciendo un juego en JavaScript. Tengo lienzo para dibujos y bucle de juego. Me gustaría hacer que el método readKeyboard, en el bucle del juego, verifique si hay alguna tecla presionada. No quiero adjuntar eventos al lienzo, porque no se ajusta al diseño del bucle del juego. Tal vez debería adjuntar este evento? ¿Cuál es la mejor solución?

Piotr Łużecki
fuente

Respuestas:

5

Podría usar una biblioteca como KeyboardJS , que escuchará los eventos del teclado y llenará una matriz con las teclas activas.

En tu gameloop:

var activeKeys = KeyboardJS.activeKeys();
if (activeKeys.indexOf(84) > -1) {
  // key pressed
}

También hice mi propia biblioteca , que es más ligera pero claramente menos completa que KeyboardJS.

bpierre
fuente