Unity 전체 장면 관리 매니저의 제작

4144 단어 UnityC#

Unity 전체 장면 관리 매니저의 제작


Unity 실행 시 모든 장면을 호출하여 해당 장면의 관리자에게 유일한 메소드를 지속
Unity 2018.2.12.f.1 사용
참조모든 장면에 존재하고 하나만 존재하는 매니저의 실현 방법[Unity] - (:3[kan의 수첩]
완성 이미지 참조 아래gif

단계 1 호출된 장면만 만들기


카메라 객체도 삭제

Scene 추가 2단계



3단계 스크립트 만들기


다음 스크립트를 작성하면 어떤 대상에 잘 붙일 필요가 없다.
장면을 불러오기 전에 호출됩니다.
ManagerSceneAutoLoader.cs

using UnityEngine;
using UnityEngine.SceneManagement;

public class ManagerSceneAutoLoader : MonoBehaviour {

    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
    private static void LoadManagerScene(){
        string managerSceneName = "ManagerScene";

        //ManagerSceneが有効でないときに追加ロード
        if(!SceneManager.GetSceneByName(managerSceneName).IsValid()){

           SceneManager.LoadScene(managerSceneName, LoadSceneMode.Additive);

        }
    }
}

STEP 4 모든 장면에 적응하고 싶은 매니저를 준비합니다.


이번에는 스마트폰 게임에서 흔히 볼 수 있는 회복점을 관리하는 관리자를 모든 장면에 배치했다.

5단계는 모든 장면 관리 관리 매니저를 장면 이전해도 사라지지 않는다


DontDestroyOnLoad 방법을 사용하여 사라짐을 방지합니다.
DDManager.cs

using UnityEngine;

public class DDManager : MonoBehaviour {

    public GameObject gameObject;

    void Start () {
        DontDestroyOnLoad(gameObject);
    }

}

이렇게 하면 실행 위치에서 ManagerScene을 시작하고 DDManager를 통해 Action Point Manager를 유지하며 모든 장면에 반복적으로 구성하지 않습니다.

좋은 웹페이지 즐겨찾기