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で古いプロジェクトを開いた際に表示されるAPI Update Requiredダイアログ

確認環境 Unity 2019.4.28f1 表示内容 This project contains scripts and/or assemblies that use obsolete APIs.I …

no image

UnityのGUI.Labelのサイズを取得する

こんにちは、今日はUnityのGUI.Labelのサイズを取得する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 GUI.Labelのサイズを取得する string st …

no image

UnityでuGUIのButtonサイズを子のTextのサイズに自動で合わせる

こんにちは、今日はUnityのuGUIでButtonのサイズを、子オブジェクトのTextのサイズに合わせて変更する方法についてまとめていきます。 確認環境 Version 2018.4.15f1 実装 …

no image

Unityでアプリケーションの多重起動を制限する方法

こんにちは、今日はUnityでアプリケーションの多重起動を制限する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 アプリケーションの多重起動を制限する Edit > Pr …

no image

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

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