「Unity/Csharp/キー入力/Event」の版間の差分
提供: 初心者エンジニアの簡易メモ
(同じ利用者による、間の1版が非表示) | |||
行1: | 行1: | ||
入力イベントでキー入力を取得できる。 | 入力イベントでキー入力を取得できる。 | ||
− | + | フレームレートごとにInput判定した場合、高速入力すると抜けがでてしまうが、こちらは入力抜けがない。 | |
+ | ==サンプル== | ||
public class HogeScript : MonoBehaviour { | public class HogeScript : MonoBehaviour { | ||
bool lastShiftFlag = false; | bool lastShiftFlag = false; |
2021年5月25日 (火) 11:10時点における最新版
入力イベントでキー入力を取得できる。
フレームレートごとにInput判定した場合、高速入力すると抜けがでてしまうが、こちらは入力抜けがない。
サンプル
public class HogeScript : MonoBehaviour { bool lastShiftFlag = false; public override void OnGUI() { Event e = Event.current; if (e.type.Equals(EventType.repaint)) { lastShiftFlag = e.shift; } string keyname = GetEventDownKeyCheck(e, lastShiftFlag) } string GetEventDownKeyCheck(Event e, bool lastShiftFlag) { if (e.isKey) { foreach (KeyCode code in Enum.GetValues(typeof(KeyCode))) { if (e.keyCode.Equals (code) && !e.keyCode.Equals(KeyCode.None)) { if (e.type.Equals (EventType.keyDown)) { if (lastShiftFlag) { return code.ToString (); } else { return code.ToString ().ToLower (); } } } } } } }