Javascript keyDown - без событийный подход

8

Я делаю игру на JavaScript. У меня есть холст для рисунков и игровой цикл. Я хотел бы сделать метод readKeyboard в цикле игры, чтобы проверить, есть ли какая-либо нажатая клавиша. Я не хочу прикреплять событие к холсту, потому что оно не соответствует дизайну игрового цикла. Может мне стоит прикрепить это событие? Какое лучшее решение?

Петр Лужецкий
источник

Ответы:

5

Вы можете использовать библиотеку типа KeyboardJS , которая будет прослушивать события клавиатуры и заполнять массив активными клавишами.

В вашем игровом цикле:

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

Я также сделал свою собственную библиотеку , которая легче, но явно менее полная, чем KeyboardJS.

bpierre
источник