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?

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.