調べたいコントローラーの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 "ひだりボタン"