【Unity メモ】ユーザからの入力

Unity ではデフォルトの設定として、スペースキーがジャンプボタンとして登録されています。Unity の 編集 > プロジェクトの編集 を開き、入力マネージャ を選択すると、このようになっています。(日本語化していますが、英語のほうがよかったかもしれません...。)

f:id:takunology:20210311132307p:plain

この中の 正方向ボタンspace になっています。よって、ユーザがスペースキーを入力すると Jump イベントが動作するようになっています。他にもボタンが割り振られているので、これらを利用してユーザからの入力をトリガーとして利用することができます。

入力を受け付けるには Input クラスを使用します。

void Update()
{
    if (Input.GetButton("Jump"))
    {
        print("Jump");
    }

    if (Input.GetButtonDown("Fire1"))
    {
        print("Fire1");
    }

    if (Input.GetKey(KeyCode.B))
    {
        print("B");
    }
}

上から順番にスペースキーを押すと Jump, クリックすると Fire1, B ボタンを押すと B が表示されます。GetButton メソッドと GetKey メソッドは連続して受け取るので、押されている間はキー入力イベントが発火します。GetButtonDown は押したときだけ発火するので、1回だけ入力したいときには最適です。他にもキーを離した瞬間に発火する GetKeyUp などがあります。