Javascript keyDown - nenhuma abordagem de evento

8

Estou fazendo jogo em JavaScript. Eu tenho telas para desenhos e loop de jogo. Gostaria de fazer o método readKeyboard, no loop do jogo, para verificar se há alguma tecla pressionada. Não quero anexar evento à tela, porque não se encaixa no design do loop do jogo. Talvez eu deva anexar este evento? Qual é a melhor solução?

Piotr Łużecki
fonte

Respostas:

5

Você pode usar uma biblioteca como o KeyboardJS , que escuta os eventos do teclado e preenche uma matriz com as teclas ativas.

No seu gameloop:

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

Também fiz minha própria biblioteca , que é mais leve, mas claramente menos completa que o KeyboardJS.

bpierre
fonte