PCエンジン miniのパッドが使えるJavaScriptコード(最低限)
※PCエンジン mini パッドの仕様やJavaScriptに関して、公式的・専門的立場に基づいた知識や見解を含む内容ではございません。あらかじめご了承ください。
PCエンジン mini パッドを認識するための、ゲームパッドAPIに基づいたJavaScriptコードです。
以下のコードを適当に放り込んで調整すれば最低限動くと思います。
let connectedGamepadIndex;
let loopID;
let padId;
addEventListener("gamepadconnected", (e) => {
connectedGamepadIndex = e.gamepad.index;
loopID = requestAnimationFrame(padLoop);
//PCエンジン miniのパッドか否かを判定するのに、適当に使ってください。
padId = e.gamepad.id;
});
function padLoop(e) {
let gamepads = navigator.getGamepads();
let gp = gamepads[connectedGamepadIndex];
let i_Button = gp.buttons[2];
let ii_Button = gp.buttons[1];
let runButton = gp.buttons[9];
let selectButton = gp.buttons[8];
if(i_Button.value == 1.0) { //以下にⅠボタンが押されている時の処理を書く。
}else{ //以下にⅠボタンが押されていない時の処理を書く。
}
if(ii_Button.value == 1.0){ //以下にⅡボタンが押されている時の処理を書く。
}else{ //以下にⅡボタンが押されていない時の処理を書く。
}
if(runButton.value == 1.0){ //以下にRUNボタンが押されている時の処理を書く。
}else{ //以下にRUNボタンが押されていない時の処理を書く。
}
if(selectButton.value == 1.0){ //以下にSELECTボタンが押されている時の処理を書く。
}else{ //以下にSELECTボタンが押されていない時の処理を書く。
}
let dPad = Math.floor(gp.axes[9] * 1000);
if(dPad == 3285){/* 方向キーが押されていない時の処理を書く */}
if(dPad == -1000){/* 方向キー:上 が押されている時の処理を書く */}
if(dPad == 1000){/* 方向キー:左上 が押されている時の処理を書く */}
if(dPad == 714){/* 方向キー:左 が押されている時の処理を書く */}
if(dPad == 428){/* 方向キー:左下 が押されている時の処理を書く */}
if(dPad == 142){/* 方向キー:下 が押されている時の処理を書く */}
if(dPad == -143){/* 方向キー:右下 が押されている時の処理を書く */}
if(dPad == -429){/* 方向キー:右 が押されている時の処理を書く */}
if(dPad == -715){/* 方向キー:右上 が押されている時の処理を書く */}
requestAnimationFrame(padLoop);
}
方向キーの情報取得に利用するのはgp.buttons[]ではなく、gp.axes[9]であるという点に気を付けましょう。
※gpの定義の仕方はコードから直接確認してください。
gp.axes[9]の書き方はもっと上手い方法がありそうですが、あまり詳しくないので力業で。
付属パッド、ターボパッドの両方に対応できます。
この記事が気に入ったらサポートをしてみませんか?