Menu
CoddyTech

キーで操作する

CoddyのUnityジャーニー「Unityスクリプティングの基礎」セクションの一部。レッスン 5/67。

スペースキーを押している間、Input.GetKey(KeyCode.Space)は毎フレームtrueになり、押していないときはfalseになります。Update()で確認し、はいの場合にだけ移動するようにすると、プレイヤーがオブジェクトを操作できます。

この木箱は、スペースキーを押している間、毎秒lift単位で上昇します。前のレッスンと同じように、Time.deltaTimeを使うことで、速度を毎秒単位に保てます。

public float lift = 2f;

void Update()
{
    if (Input.GetKey(KeyCode.Space))
    {
        transform.position += new Vector3(0, lift * Time.deltaTime, 0);
    }
}

すべてのキーにはKeyCodeがあります。例:KeyCode.UpArrow、KeyCode.W、KeyCode.Returnなど。まずゲームビューをクリックして、キー入力が届くようにしてください。Unity 6についての注意:新しいプロジェクトでは新しいInput Systemが使われます。Active Input Handling(Project Settings、Player)をBothに設定するまで、そこでInput.GetKeyを使うとエラーになります。

challenge icon

チャレンジ

簡単

プレイヤーが立方体を操作できるようにします。右矢印キーを押している間は、毎秒speed単位の速さで右(+x方向)に移動し、左矢印キーを押している間は、同じ速さで左に移動します。どのキーも押していないときは、その場にとどまります。

Playを押し、ゲームをクリックして矢印キーを試してから、Checkを押してください。

自分で試してみよう

using UnityEngine;

public class Steering : MonoBehaviour
{
    public float speed = 4f;

    void Update()
    {
        // 右矢印キー:右に移動。左矢印キー:左に移動。
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Unityスクリプティングの基礎のすべてのレッスン