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で簡単なセーブ機能を実装できるPlayerPrefsの使い方

プラットフォームごとの保存先が公式ドキュメントに記載されています。Windowsはレジストリに保存を行うため、レジストリにデータを保存したくない場合は別の実装にする必要があります。 確認環境 Unit …

no image

UnityのVideo Playerで動画の終了を判定する方法

こんにちは、今日はUnityのVideo Playerで動画の終了を判定する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 動画の終了を判定する VideoPlayer. …

no image

Unity – pingを実行する

こんにちは、今日はUnityでpingを実行する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 pingの実行方法 UnityEngine.Pingクラスを使用します。 …

no image

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

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

no image

Unityエディタのレイアウトをデフォルトに戻す方法

こんにちは、今日はUnityエディタのレイアウトをデフォルトに戻す方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 エディタのレイアウトをデフォルトに戻す Unityエディ …