JavaScriptでゲームを作っています。描画とゲームループ用のキャンバスがあります。ゲームループでメソッドreadKeyboardを作成して、押されたキーがあるかどうかを確認します。イベントをキャンバスにアタッチしたくないのは、ゲームのループデザインに適合しないためです。たぶん、このイベントを添付する必要がありますか?最良の解決策は何ですか?
JavaScriptでゲームを作っています。描画とゲームループ用のキャンバスがあります。ゲームループでメソッドreadKeyboardを作成して、押されたキーがあるかどうかを確認します。イベントをキャンバスにアタッチしたくないのは、ゲームのループデザインに適合しないためです。たぶん、このイベントを添付する必要がありますか?最良の解決策は何ですか?
回答:
KeyboardJSのようなライブラリを使用できます。これは、キーボードイベントをリッスンし、アクティブなキーで配列を埋めます。
ゲームループで:
var activeKeys = KeyboardJS.activeKeys();
if (activeKeys.indexOf(84) > -1) {
// key pressed
}
また、KeyboardJSよりも軽量ですが、完成度が明らかに低い独自のライブラリも作成しました。