「Unity/Csharp/キー入力/Input」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「フレームレートごとに入力受付する。 高速入力時には入力抜けが発生する恐れがある。 Unity/Csharp/キー入力/Event [ショート...」) |
(→キー入力判定) |
||
行7: | 行7: | ||
==キー入力判定== | ==キー入力判定== | ||
− | + | <pre> | |
− | + | 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"); | ||
+ | } | ||
+ | </pre> | ||
キー種類 | キー種類 |
2022年1月4日 (火) 09:42時点における版
フレームレートごとに入力受付する。 高速入力時には入力抜けが発生する恐れがある。
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"); }
キー種類
- 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 (); } } }