Unityにはさまざまな入力APIが準備されている。
Unity - Scripting API: Input
Static関数としては次がある。Down/Up=Yesは、たとえばGetKeyに対して、GetKeyDown/GetKeyUpというメソッドもあるということ。
入力機器 | メソッド | 引数 | 戻り値 | Down/Up |
---|---|---|---|---|
キー | GetKey(string) | キー名 | bool | Yes |
マウスボタン | GetMouseButton(int) | 0:左,1:右,2:中 | bool | Yes |
ボタン | GetButton(string) | 仮想ボタン名(*1) | bool | Yes |
アクシス(スムージングあり) | GetAxis(string)(*2) | 仮想アクシス名(*3) | float -1~+1 | No |
アクシス(スムージングなし) | GetAxisRaw(string)(*2) | 仮想アクシス名(*3) | float -1~+1 | No |
タッチ | GetTouch(int).phase | 0-Input.touchCount:指番号 | タッチフェーズ | No(*3) |
(*1)バーチャルボタンは、Project Settings-Inputで設定する。デフォルトでは、'Fire1','Fire2','Fire3','Jump','Submit','Cancel'が設定されている。
(*2)スティックは、ジョイスティック以外に、マウスの動き、キーにもアサインできる。
GetAxisRaw()の場合のキーボード入力は、-1,0,+1のいずれかになる。
(*3)GetTouch()は、
Input.GetTouch(i).phase == TouchPhase.Began
のように、.phaseプロパティと、TouchPhaseクラスとのセットで使う。