シューティングゲームを作ろう vol.2

スポンサーリンク

自機の移動

自機を移動させるプログラムを作成して、自機をキー操作で移動させましょう。
左右キーの入力に応じて自機を動かすために、C#スクリプトを作成します。(使用言語はC#です)

まずはスクリプトを整理するためのフォルダー(入れ物)を作りましょう。
プロジェクトビューで右クリックし、「Create」→「Folder」を選択して下さい。作成したフォルダー名は「Script」にしましょう。

続いてスクリプトの作成です。
フォルダー「Script」内で「Create」→「C# Script」を選択して下さい。
作成したファイル名を「PlayerController」に変更しておきましょう。

作成した「PlayerController」をダブルクリックして、ファイルを開きましょう。
スクリプトエディタが開きます。(このプロジェクトではVSCodeを利用しています)
次のプログラムコードを「PlayerController」に記述します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
    }

    // Update is called once per frame
    void Update () {
        if (Input.GetKey (KeyCode.LeftArrow)) {//右矢印が押されているか判定
            transform.Translate (-0.1f, 0, 0);
        }
        if (Input.GetKey (KeyCode.RightArrow)) {//左矢印が押されているか判定
            transform.Translate (0.1f, 0, 0);
        }
    }
}

「start」関数では、現在は何も処理を行いません。
追加したのは、「update」関数の中身です。
update関数は毎回呼び出される関数です。
その中で、キーボードの右矢印キーと左矢印キーが押されたどうかを判断しています。
右矢印キーが押されていれば、Player機をX軸(横軸)に現在地より-0.1移動させます。(画面左側に移動)
左矢印キーが押されていれば、Player機をX軸に現在地より0.1移動させます。(画面右側に移動)

移動の速度が速すぎると感じた場合は、この数値をより小さく設定します。
記述を終えたなら、ファイルのセーブをして、Unityに戻ります。

作成したScript「PlayerController」を「SpaceShip」オブジェクトに設定(アタッチ)しましょう。

プロジェクトビューの「PlayerController」ファイルをヒエラルキービューの「SpaceShip」へドラッグ&ドロップします。

実行を行って(画面上の右矢印をクリック)結果を見てみましょう。

左右の矢印キーで自機が左右に移動出来たら、上手くプログラミング出来ています。

次回は弾は発射を作成します。

スポンサーリンク
スポンサーリンク
ImagineWave