8
\$\begingroup\$

I'm making game in JavaScript. I have canvas for drawings and game loop. I'd like to make method readKeyboard, in game loop, to check if there is any pressed key. I don't want to attach event to canvas, because it doesn't fit game loop design. Maybe I should attach this event? What is the best solution?

\$\endgroup\$

1 Answer 1

5
\$\begingroup\$

You could use a library like KeyboardJS, which will listen the keyboard events and fill an array with the active keys.

In your gameloop:

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

I also made my own library, which is lighter but clearly less complete than KeyboardJS.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .