今回はキーボードが押されているかを判断する方法をご紹介します。
キーボードが押されているかを判断することによって矢印キーを押したらキャラクターを前に進めることや、スペースキーを押したら弾丸を発射する等、キーボードを押すことによって動作させることができます。
利用するクラス
今回ご紹介するキーが押されているかや、マウスボタンが押されているかを調べることができます。
GetKey |
キーを押している間、trueを返します。 |
GetKeyDown |
キーを押したフレームの間だけtrueを返します。 |
GetKeyUP |
キーを離したフレームの間だけtrueを返します。 |
GetMouseButton |
マウスボタンを押したフレームの間だけtrueを返します。 |
GetMouseButtonDown |
マウスボタンを離したフレームの間だけtrueを返します。 |
※GetKeyとGetKeyDownの違いは画面下部の使用例でご紹介します。
KeyCodeクラスにはキーボード毎に定数が割り当てられています。
UpArrow |
上矢印 |
DownArrow |
下矢印 |
Space |
スペース |
Backspace |
バックスペース |
Return |
リターン |
使用例
GetKeyを使用して上矢印を押している間と下矢印を押している間を判断する場合のキーの指定方法が2通りあります。
1つ目の方法はキーの指定に文字列を指定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
void Update () { if(Input.GetKey("up")){ Debug.Log("上矢印"); }else if(Input.GetKey("down")){ Debug.Log("下矢印"); } } |
2つ目の方法はキーの指定にKeyCodeクラスの定数を使用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
void Update () { if(Input.GetKey(KeyCode.UpArrow)){ Debug.Log("上矢印"); }else if(KeyCode.DownArrow){ Debug.Log("下矢印"); } } |
次はGetKeyとGetKeyDownの違いをConsoleに表示して確認してみます。
GetKeyは上矢印を押し続けている間は「上矢印」が表示続けます。
GeyKeyDownは上矢印を押し続けていても一回しか「上矢印」が表示されません。
例えば銃弾の発射の使い分けとしては、連射の場合はGetKey、一回ずつの場合はGetKeyDownを使うことで実現できます。