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でPowerShellの実行結果を取得する

以下の例ではGet-ChildItemコマンドレットを引数なしで実行、標準出力への出力をDebug.LogでUnityコンソールに出力しています。 System.Diagnostics.Process …

no image

Unityでスクリプトからゲームの再生や停止を行う

こんにちは、今日はUnityでスクリプトからゲームの再生や停止を行う方法についてまとめていきます。 エディタの再生、一時停止、停止ボタンの処理をスクリプトから行うことができます。これらの処理はエディタ …

no image

Unityでマウスオーバーしているウィンドウを最大化するショートカットキー

こんにちは、今日はUnityでマウスオーバーしているウィンドウを最大化するショートカットキーについてまとめていきます。 確認環境 Unity 2018.4.15f1 マウスオーバーしているウィンドウを …

no image

Unity – UIのButtonにイベントを設定する方法まとめ

こんにちは、今日はUnityでUIのButtonクリック時に発生するイベントを設定する方法についてまとめていきます。 HierarchyウィンドウからCreate > UI > Buttonを選択や、 …

no image

Unityで実行環境の情報を取得する方法

System.Environmentクラスで現在の環境についての情報が取得できます。 OSバージョン System.OperatingSystem os = System.Environment.OS …