シューティングゲームを作ろう 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」へドラッグ&ドロップします。
実行を行って(画面上の右矢印をクリック)結果を見てみましょう。
左右の矢印キーで自機が左右に移動出来たら、上手くプログラミング出来ています。
次回は弾は発射を作成します。