TASOGARE GAMES BLOG

タソガレゲイムス :: 神奈川県でゲームを開発する人々のブログです。

Unityでキーボード入力を扱う

Unity逆引き:キーボード入力を扱う

キーボードの入力判定には5種類あります。

  1. 特定のキーが押されているか否か
  2. いま特定のキーが押されたか否か
  3. いま特定のキーが離されたか否か
  4. 何らかのキーが押されているか否か
  5. いま何らかのキーが押されたか否か

特定のキーが押されているかを確認する

Input.GetKey()を使うと、特定のキーが押されているかどうかをbool型の値で取得できます。 たとえば「矢印キーを押している間、移動する」というような機能で使えます。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKey(KeyCode.RightArrow)) {
            print("右矢印キーが押されている");
        }
    }
}

引数には、文字列またはキーコードを渡します。キーコードの一覧はScripting APIのKeyCodeで確認できます。

いま特定のキーが押されたかを確認する

Input.GetKeyDown()を使うと、いま特定のキーが押されたかどうかをbool型の値で取得できます。 たとえば「スぺ―スキーを押した瞬間、ジャンプする」というような機能で使えます。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space)) {
            print("いまスペースキーが押された");
        }
    }
}

いま特定のキーが離されたかを確認する

Input.GetKeyUp()を使うと、いま特定のキーが離されたかどうかをbool型の値で取得できます。 たとえば「スぺ―スキーを離された瞬間、ジャンプする」というような機能で使えます。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyUp(KeyCode.Space)) {
            print("いまスペースキーが離された");
        }
    }
}

何らかのキーが押されているかを確認する

Input.anyKeyを使うと、何らかのキーが押されているかどうかをbool型の値で取得できます。 この「何らかのキー」には、マウスのボタンクリックも含まれます。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        if (Input.anyKey) {
            print("キーもしくはマウスボタンが押されている");
        }
    }
}

いま何らかのキーが押されたかを確認する

Input.anyKeyDownを使うと、いま何らかのキーが押されたかどうかをbool型の値で取得できます。 この「何らかのキー」には、マウスのボタンクリックも含まれます。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        if (Input.anyKeyDown) {
            print("いまキーもしくはマウスボタンが押された");
        }
    }
}