facebook twitter hatena line email

Unity/Csharp/キー入力/Input

提供: 初心者エンジニアの簡易メモ
2017年11月22日 (水) 22:04時点におけるAdmin (トーク | 投稿記録)による版 (ページの作成:「フレームレートごとに入力受付する。 高速入力時には入力抜けが発生する恐れがある。 Unity/Csharp/キー入力/Event [ショート...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

フレームレートごとに入力受付する。 高速入力時には入力抜けが発生する恐れがある。

Unity/Csharp/キー入力/Event [ショートカット]

↑の入力イベントで取得する方が置い。

キー入力判定

if (Input.GetKey(KeyCode.Space)) {
}

キー種類

  • 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 ();
        }
    }
}