ゲームパッド(コントローラ)の情報を取得するためのクラスです。
no
何番目のゲームパッドの情報を取得するのかを指定します(0:1個目のゲームパッド、1:2個目、...)ゲームパッド1個分の情報を取得するためのクラスです。
true
、未接続の場合false
を返しますbtnNo
番のボタンが押されているかを返しますbtnNo
0で最初のボタンbtnNo
番のボタンが押された深さを返しますbtnNo
0で最初のボタンbtnNo
番の軸の傾きを返しますbtnNo
0で最初の軸例:
Tonyu2付属のサンプル「GamePad」に詳しい使い方があります。
例1:簡単な実装
Main.tonyu
x=100;y=100;
gamePad=$GamePad.get(0); // ゲームパッド0番を取得する
while(true){
p=10;
if(gamePad.getButton(0)) p=0; // 0番目のボタン
if(gamePad.getButton(1)) p=4; // 1番目のボタン
if(gamePad.getButton(2)) p=7; // 2番目のボタン
if(gamePad.getButton(3)) p=2; // 3番目のボタン
x+=gamePad.getAxis(0)*3; // X軸の傾き(-1.0~1.0)
y+=gamePad.getAxis(1)*3; // Y軸の傾き(-1.0~1.0)
update();
}
例2:2個のゲームパッドの情報を表示
Main.tonyu
x=10;y=10;size=12;align="left";
gamePad1=new GPad{x:10,y:30,no:0};
gamePad2=new GPad{x:250,y:30,no:1};
while(true){
if($GamePad.available){
text="GamePadの個数 : "+$GamePad.padsCount();
}else{
text="このデバイス・ブラウザはGamepad APIに対応していません";
}
update();
}
GPad.tonyu
size=10;align="left";
gamePad=$GamePad.get(no); // ゲームパッド0番を取得する
while(true){
connected=gamePad.isConnected(); // コントローラが接続されているかチェック
if(connected){ // 接続されている
text="id :"+gamePad.getPadId()+"\n"; // コントローラの識別名
text+="mapping :"+gamePad.getMapping()+"\n"; // マッピング
var buttonCnt=gamePad.getButtonCount(); // ボタン数
for(var i=0;i<buttonCnt;i++){
var b=gamePad.getButton(i); // ボタンを押した時間(フレーム単位)
var v=gamePad.getButtonValue(i); // ボタンを押した深さ(0.0~1.0)
text+="b["+i+"]:"+b+" v:"+v+"\n";
}
var axisCnt=gamePad.getAxisCount(); // 軸の数
for(var i=0;i<axisCnt;i++){
var a=gamePad.getAxis(i); // 軸の傾き(-1.0~1.0)
text+="a["+i+"]:"+a+"\n";
}
}else{
text="--";
}
update();
}