Unity/Csharp/キー入力/Input
提供: 初心者エンジニアの簡易メモ
フレームレートごとに入力受付する。 高速入力時には入力抜けが発生する恐れがある。
Unity/Csharp/キー入力/Event [ショートカット]
↑の入力イベントで取得する方が置い。
キー入力判定
if (Input.GetKey(KeyCode.Space)) { } if (Input.GetKey(KeyCode.LeftArrow)) { Debug.Log("hidari"); } else if (Input.GetKey(KeyCode.RightArrow)) { Debug.Log("migi"); } else if (Input.GetKey(KeyCode.UpArrow)) { Debug.Log("up"); } else if (Input.GetKey(KeyCode.DownArrow)) { Debug.Log("down"); } float v = Input.GetAxis("Vertical"); float h = Input.GetAxis("Horizontal"); Debug.Log("updown=" + v); Debug.Log("rightleft=" + h);
キー種類
- KeyCode.Space スペース
- KeyCode.Return リターンキー
- KeyCode.UpArrow 上矢印
- KeyCode.DownArrow 上矢印
- KeyCode.A a
- KeyCode.B b
- KeyCode.C c
キーの状態
- Input.GetKey 押しっぱなし有効
- Input.GetKeyDown 押した時
- Input.GetKeyUp 離した時
何のキーを入力したか
using System; void Update () { DownKeyCheck (); } void DownKeyCheck(){ if (Input.anyKeyDown) { foreach (KeyCode code in Enum.GetValues(typeof(KeyCode))) { if (Input.GetKeyDown (code)) { Debug.Log (code); break; } } } }
shiftで大文字入力判定
if (Input.anyKeyDown) { foreach (KeyCode code in Enum.GetValues(typeof(KeyCode))) { if (Input.GetKey (KeyCode.LeftShift) || Input.GetKey (KeyCode.LeftShift)) { return code.ToString (); } else { return code.ToString ().ToLower (); } } }