api

GamePadクラス

ゲームパッド(コントローラ)の情報を取得するためのクラスです。

メソッド

GamePadOneクラス

ゲームパッド1個分の情報を取得するためのクラスです。

メソッド

例:

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();
}