3テラバイト

プログラム関連備忘録サイト。主にゲーム。

Unity

Unity – キー入力を取得する方法まとめ

投稿日:

こんにちは、今日はUnityでキー入力を取得する方法についてまとめていきます。

確認環境

Unity 2018.4.15f1

キー入力の取得

https://docs.unity3d.com/ja/current/ScriptReference/Input.html

キー入力の取得にはUnityEngine.Inputクラスに定義されている関数を使用します。
以下の例ではスペースキー入力時にConsoleウィンドウにログが出力されます。

キーが押されたフレーム

if (Input.GetKeyDown(KeyCode.Space))

{

    Debug.Log("GetKeyDown Space");

}


キーが押されている間

if (Input.GetKey(KeyCode.Space))

{

    Debug.Log("GetKey Space");

}

キーが離されたフレーム

if (Input.GetKeyUp(KeyCode.Space))

{

    Debug.Log("GetKeyUp Space");

}


KeyCode.Spaceを別のキーに変更することで他のキーの入力も取得可能です。
また、以下のようにKeyCodeの値ではなく文字列での指定も可能です。

if (Input.GetKey("space"))

{

    Debug.Log("GetKey Space");

}

仮装ボタン入力

Edit > Project Settings > Input からキーやボタンの対応を設定し名前を付け、その名前から入力の判定を行うこともできます。
以下の例では最初から定義されている”Jump”ボタンの判定を行なっています。
”Jump”ボタンはスペースキーに設定されているため、スペースキー入力の判定を行えます。

ボタンが押されたフレーム

if (Input.GetButtonDown("Jump"))

{

    Debug.Log("GetButtonDown Jump");

}


ボタンが押されている間

if (Input.GetButton("Jump"))

{

    Debug.Log("GetButton Jump");

}

ボタンが離されたフレーム

if (Input.GetButtonUp("Jump"))

{

    Debug.Log("GetButtonUp Jump");

}


設定できるプロパティーの説明については以下のページに記載されています。

https://docs.unity3d.com/ja/2018.4/Manual/ConventionalGameInput.html

-Unity


comment

メールアドレスが公開されることはありません。

関連記事

no image

Unityで引数に最も近い整数を返す関数Mathf.Round

確認環境 Unity 2018.4.15f1 使い方 float num = Mathf.Round(1.2f); Debug.Log(num); float型の数値を渡すと、その値に最も近い整数値を …

no image

Unityで0から指定範囲の間を行き来する数値を取得できる関数Mathf.PingPong

確認環境 Unity 2018.4.15f1 使い方 public static float PingPong(float t, float length); UnityEngine.Mathfに定義 …

no image

UnityのManaged Memoryサイズをスクリプトから取得する

こんにちは、今日はUnityのManaged Memoryサイズをスクリプトから取得する方法についてまとめていきます。 Profiler.GetMonoUsedSizeLong() Profiler. …

no image

Unity – コルーチンの使い方

こんにちは、今日はUnityでコルーチンの使い方についてまとめていきます。 コルーチンは関数の実行途中で中断し、指定時間経過後等の条件で再開できる関数のようなものです。 詳細については公式マニュアルの …

no image

Unityエディタ上で使用できるダイアログを表示する方法

EditorUtility.DisplayDialog関数でダイアログの表示が可能です。 bool isOK = EditorUtility.DisplayDialog("Title&quo …