0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

プレイヤが移動できるようになったので、ステージを作っていきます。
また、ステージ移動の際にカメラがプレイヤに合わせて動くようにしたいと思います。

前回の記事

ステージを作る

地面のPrefabを作ることで地面を量産していきます。
Prefabは、同じものをたくさん作りたい場合に使います。

原本の地面(base)をプロジェクトウィンドウにドラッグアンドドロップします。
すると、地面のPrefabが作成されます。
image.png

作成された地面のPrefabをステージ(シーンビュー)に必要な数だけドラックアンドドロップします。
※ここでは消し忘れましたが、原本は削除して大丈夫です。
image.png

ジャンプをして地面に着地していくゲームっぽくなりました。
ですが、このままでは画面範囲外に移動してもカメラが追従しないため、🦀が消えてしまいます。

カメラがプレイヤに追従するようにする

カメラもゲームオブジェクトの一種のため、スクリプトをかくことで動かすことができます。
ファイル名をCameraControllerとしてスクリプトを以下のようにかいてみました。

using UnityEngine;

public class CameraController : MonoBehaviour
{
    GameObject player;
    // Start is called before the first frame update
    void Start()
    {
        this.player = GameObject.Find("Kani");
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 pos = this.player.transform.position;
        transform.position = new Vector3(pos.x, transform.position.y, transform.position.z);
    }
}

プレイヤの座標を調べて(pos)、x座標をプレイヤに合わせて変更するようにしています。

スクリプトをカメラコントローラにアタッチして動かしてみると、カメラがプレイヤに合わせて動くようになりました!

image.png

おわりに

ステージを移動させていく処理をjavascriptで作成したときはめんどくさかったので、カメラにスクリプトを当てることでこんなに簡単に移動できるゲームが作れていいなと思いました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?