デジタルコンテンツの制作

nekosuko.jp

RPG レッスン

【06】管理オブジェクトを作ってみる|RPGを作ってみる

更新日:

ゲーム全体を管理するGameManagerの作成

ゲーム全体を管理するGameManagerを作成します。

GameManagerオブジェクトを作り、GameManagerスクリプトを作ってアタッチします。

GameManager.cs

using UnityEngine.SceneManagement;
 
public class GameManager : MonoBehaviour
{
    public static GameManager instance;
 
    private void Awake()
    {
        if (instance == null)
        {
            instance = this;
            DontDestroyOnLoad(this);
        }
        else
        {
            Destroy(gameObject);
        }
    }
 
    public static void LoadScene(string sceneName)
    {
        SceneManager.LoadScene(sceneName);
    }
}


シーンの切り替え処理ができるように名前空間 UnityEngine.SceneManagement を追加します。

Awakeメソッドを追加し、GameManagerをstaticな変数instanceに代入しています。

これでどのクラスからでもGameManagerを参照できるようになります。

ゲームオーバーになってタイトルシーンにもどってきたときなど、GameManagerオブジェクトが重複したときは破棄するようにしています。

(instanceに値が入っているということはGameManagerがすでにインスタンス化されていることになる)

シーンの切り替えをするメソッドはstaticなメソッドにしておき、GameManagerがインスタンス化されていなくても使えるようにしておきます。

リンク


							

-RPG, レッスン

Copyright© nekosuko.jp , 2021 All Rights Reserved.