BUTTON
物理ボタン(十字キー、ボタン)の情報を取得
BUTTON [fnc[,trm]] OUT var
var = BUTTON([fnc[,trm]])
パラメーター
fnc:機能ID(省略時:0)
trm:ワイヤレス通信時の端末ID(3DS) 0~3
コントローラーID(WiiU) 0:Gamepad 1~4:Wii互換コントローラ
戻り値
ver:ボタン状況(数値)
解説
十字キーと各操作ボタンの押下情報を取得します。
取得できるのは、十字キー(上下左右),A,B,X,Y,L,R,ZL,ZRです。
(START,SELECTは使用不可。ZL,ZRは旧3DSには標準装備されていません)
プチコンBIGでは更に、Wiiリモコン、ヌンチャク、L/Rスティック押下も取得可能です。
どのハードウエアが接続されているかはCONTROLLERで取得できます。
「リピート」はBREPEATを参照
BIG:コントローラIDを指定する場合は、事前に「XON WIIU」を実行する必要があります。
これらをANDなどの論理演算子で、それぞれが押されているかを取得します。
※赤字はプチコンBIGのみ
取得できるのは、十字キー(上下左右),A,B,X,Y,L,R,ZL,ZRです。
(START,SELECTは使用不可。ZL,ZRは旧3DSには標準装備されていません)
プチコンBIGでは更に、Wiiリモコン、ヌンチャク、L/Rスティック押下も取得可能です。
どのハードウエアが接続されているかはCONTROLLERで取得できます。
fnc:機能ID
fnc | 内容 |
---|---|
0 | 押し続け[省略時] |
1 | 押した時(リピート付) |
2 | 押した時(リピート無) |
3 | 離した時 |
trm:端末(コントローラ)ID
3DS:端末IDを指定する場合は、事前に「MPSTART」でワイヤレス機能をONにしておく必要があります。BIG:コントローラIDを指定する場合は、事前に「XON WIIU」を実行する必要があります。
戻り値
戻り値は、各ボタンが押されているかがbitで表された数値です。<例>RとBと上が同時に押されている場合
bit | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ボタン | ZL | ZR | − | R | L | Y | X | B | A | 右 | 左 | 下 | 上 |
戻り値 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
これらをANDなどの論理演算子で、それぞれが押されているかを取得します。
各ボタンが単独で押された時の値
bit | 10進数 | # | ボタン |
---|---|---|---|
0 | 1 | #UP | 十字ボタン上 |
1 | 2 | #DOWN | 十字ボタン下 |
2 | 4 | #LEFT | 十字ボタン左 |
3 | 8 | #RIGHT | 十字ボタン右 |
4 | 16 | #A | Aボタン |
5 | 32 | #B | Bボタン |
6 | 64 | #X | Xボタン/Wiiリモコン1ボタン |
7 | 128 | #Y | Yボタン |
8 | 256 | #L | Lボタン/ヌンチャクC |
9 | 512 | #R | Rボタン |
10 | 1024 | (未使用) | |
11 | 2048 | #ZR | ZRボタン |
12 | 4096 | #ZL | ZLボタン/ヌンチャクZ |
13 | 8192 | (未使用) | |
14 | 16384 | Lスティック押下 | |
15 | 32768 | Rスティック押下 |
サンプルコード
十字キーでキャラクターを動かすサンプルコード。このコードでは「単独で押された場合」にのみ移動します。
ナナメへの移動など、他のボタンが同時に押されていても有効にしたい場合は、「B==#〜」の部分を「(B AND #〜)>0」に変更します。
ナナメへの移動など、他のボタンが同時に押されていても有効にしたい場合は、「B==#〜」の部分を「(B AND #〜)>0」に変更します。
v3.1までの記載方法(定数リテラル(#)は使用できなかった)DIM X=200:Y=200 '横位置と縦位置の初期設定SPSET 0,1275 'スプライト0番にキャラをセット(1275:赤い戦闘機)@MAINLOOPB=BUTTON() '十字キーの値を取得。SPOFS 0,X,Y 'キャラを画面に表示VSYNC '実際に表示されるまで待つ
参照
XON
3DS/WiiUモード切替、マイク、センサーの使用開始
XOFF
マイク、拡張スライドパッド、各センサーの使用を終了
BUTTON
物理ボタン(十字キー、ボタン)の情報を取得
BREPEAT
物理ボタンのキーリピート機能(自動連打)を設定
STICK
スライドパッドの情報を取得
STICKEX
拡張スライドパッドの情報を取得
ACCEL
モーションセンサー(加速度センサー)情報を取得
GYROA
ジャイロセンサー(角度センサー)の「角度変化」情報を取得
GYROV
ジャイロセンサー(角度センサー)の「角速度」情報を取得
GYROSYNC
ジャイロセンサー(角度センサー)の値をリセット
TOUCH
タッチパネルの情報を取得
MICSTART
マイクからのサンプリング(音声取得)を開始
MICSTOP
マイクからのサンプリング(音声取得)を停止
MICDATA
サンプリングデータの指定位置を調べる
MICSAVE
サンプリングデータを配列にコピー
CONTROLLER
コントローラーの情報取得
VIBLATE
コントローラーを振動させる