Javascript keyDown - tidak ada pendekatan acara

8

Saya membuat game dalam JavaScript. Saya memiliki kanvas untuk gambar dan lingkaran permainan. Saya ingin membuat metode readKeyboard, di loop game, untuk memeriksa apakah ada tombol yang ditekan. Saya tidak ingin melampirkan acara ke kanvas, karena tidak cocok dengan desain loop game. Mungkin saya harus melampirkan acara ini? Apa solusi terbaik?

Piotr Łużecki
sumber

Jawaban:

5

Anda bisa menggunakan perpustakaan seperti KeyboardJS , yang akan mendengarkan acara keyboard dan mengisi array dengan tombol yang aktif.

Di gameloop Anda:

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

Saya juga membuat perpustakaan saya sendiri , yang lebih ringan tapi jelas kurang lengkap dari KeyboardJS.

bpierre
sumber