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

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

関連記事

no image

UnityのProfilerの使い方

確認環境 Unity 2018.4.15f1 Profiler ウィンドウの開き方 Window > Analysis > Profiler から Profiler ウィンドウ を開きます。 Prof …

no image

Unity – プラットフォームやエディタ等の実行環境ごとに処理を切り分ける方法

こんにちは、今日はUnityでWindows、Mac、Android、iOS等の各プラットフォームごとや、エディタ上で実行されている場合にスクリプトの処理を切り分ける方法についてまとめていきます。 確 …

no image

Unityで数値を指定範囲に収める

確認環境 Unity 2018.4.15f1 数値を指定範囲に収める Clamp public static int Clamp(int value, int min, int max); publi …

no image

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

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

no image

Unityで発生するWarning CS0649の対処方法

こんにちは、今日はUnityのC#スクリプトで発生するWarning CS0649の対処方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 発生原因 以下のようなコードでスク …