私は小さな JavaScript ゲームを書いていて、それをゲームパッドで動作させようとしています。ゲームパッドは動作します (少なくとも Linux では)。私はこのコードを書きました:
var gamePad;
var checkForGamepad;
function startPolling() {
checkForGamepad= setInterval(function () {
gamePad= navigator.webkitGetGamepads && navigator.webkitGetGamepads()[0]
},20)}
function stopPolling(){
clearInterval(checkForGamepad);
checkForGamepad=null;
}
これは、ゲームコントローラーが接続されているかどうかの確認を開始するためのものであり、停止することもできます (たとえば、メニューにいるとき)。しかし、今はイベントレコーダーを書きたいと思っています。キーボード用は既に書いていますが、'keyup' イベントがあるので簡単です。ゲームパッド用のイベントレコーダーを作成する方法を知っている人はいますか?
キーボードのイベント レコーダーは次のようになります。
function gameNavigationKey(evt){
switch (evt.keyCode){
case 32: // spacebar was pressed
//change the gravity
// do some other stuff
break;
.
.
.
}
また、gameloop() を開始するときのコードでは、window.addEventListener('keyup',gameNavigationKey,true) も呼び出します。
そのため、ゲームパッドを使用したイベント レコーダーにも基本的に同じスタイルが必要です。gamePad.buttons[0] を使用して、ゲームパッドで押されているキーの値を読み取ることができることを知っています。そのため、キーの以前の状態を覚えておく必要があると思いますが、それでも開始方法がわかりません。このイベント レコーダーの作成を手伝ってもらえますか? 前もって感謝します