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\$
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\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.