調べたいコントローラーのID
0 | デフォルトコントローラー |
1~4 | 通常コントローラー |
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。
調べたいボタンのID
ボタンIDとボタンとの対応は次の通り
・ボタンIDとボタンとの対応は操作スタイル毎に異なる。
ボタンID | フル、2本持ち | 縦持ち | 横持ち |
---|---|---|---|
#B_RUP | Xボタン | 上ボタン | 上ボタン |
#B_RDOWN | Bボタン | 下ボタン | 下ボタン |
#B_RLEFT | Yボタン | 左ボタン | 左ボタン |
#B_RRIGHT | Aボタン | 右ボタン | 右ボタン |
#B_LUP | 上ボタン | ||
#B_LDOWN | 下ボタン | ||
#B_LLEFT | 左ボタン | ||
#B_LRIGHT | 右ボタン | ||
#B_L1 #B_SL | L | SL | SL |
#B_R1 #B_SR | R | SR | SR |
#B_L2 #B_S1 | ZL | LまたはR | LまたはR |
#B_R2 #B_S2 | ZR | ZLまたはZR | ZLまたはZR |
#B_LSTICK | Lスティック押し込み | スティック押し込み | スティック押し込み |
#B_RSTICK | Rスティック押し込み | ||
#B_RANY | A,B,X,Yボタンのいずれか | ||
#B_LANY | 上,下,左,右ボタンのいずれか | ||
#B_ANY | スティック押し込み以外のいずれかのボタン |
・方向ボタンの上下左右は、コントローラーを持った方向に対するボタン位置。縦持ちの「上」は横持ちの「左」となる。
知りたい状態の種類
・省略時は0。
0 | ボタンが押されている |
1 | ボタンを押した瞬間(BREPEAT対応あり) |
2 | ボタンを押した瞬間(BREPEAT対応なし) |
3 | ボタンを離した瞬間 |
指定ボタンが指定機能IDの条件を満たしていれば1、そうでなければ0
・1個のボタンの状態だけ取得したい場合は、もう一つのBUTTON関数のヘルプを参照。
調べたいコントローラーのID
0 | デフォルトコントローラー |
1~4 | 通常コントローラー |
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。
ボタンIDに-1を設定すると、全ボタン状態をまとめて取得するようになる
・コントローラーIDだけ指定した場合も-1を指定した事になる。
知りたい状態の種類
・省略時は0。
0 | ボタンが押されている |
1 | ボタンを押した瞬間(BREPEAT対応あり) |
2 | ボタンを押した瞬間(BREPEAT対応なし) |
3 | ボタンを離した瞬間 |
指定したコントローラーのボタン状態がビット毎にセットされて返ってくる
ボタンが押されているか調べるには、次のようなプログラムを書けば良い
'ボタンに対応するビットをONにした値を作るには、1をボタンIDだけ左シフト(<<)すれば良い 'たとえば#B_RLEFTが押されているか調べたい場合 BTNBIT_RLEFT = 1 << #B_RLEFT 'ビット値を作ったら、BUTTON関数の結果とANDを求めて、結果が0以外なら押されている IF (BUTTON(0) AND BTNBIT_RLEFT) != 0 THEN PRINT "ひだりボタン"