Javascript keyDown - kein Ereignisansatz

8

Ich mache ein Spiel in JavaScript. Ich habe Leinwand für Zeichnungen und Spielschleife. Ich möchte die Methode readKeyboard in einer Spielschleife erstellen, um zu überprüfen, ob eine Taste gedrückt wurde. Ich möchte kein Ereignis an die Leinwand anhängen, da es nicht zum Game-Loop-Design passt. Vielleicht sollte ich dieses Ereignis anhängen? Was ist die beste Lösung?

Piotr Łużecki
quelle

Antworten:

5

Sie können eine Bibliothek wie KeyboardJS verwenden , die die Tastaturereignisse abhört und ein Array mit den aktiven Tasten füllt.

In Ihrem Gameloop:

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

Ich habe auch meine eigene Bibliothek erstellt , die leichter, aber deutlich weniger vollständig als KeyboardJS ist.

bpierre
quelle