게임 클리어되었을때 NEXT버튼이나 게임오버시 RESTART 버튼을 사용할 수 있도록 해보겠습니다.

씬 변경 스크립트 만들기

프로젝트뷰 +를 클릭해 ChangeScene이름의 스크립트를 만듭니다.

씬매니저를 사용하기 위해 using UnityEngine.SceneManagement; 를 선업합니다.

불러올 씬을 참조하기 위해  public string SceneName; 변수를 선언합니다.

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

public class ChangeScene : MonoBehaviour
{
    public string SceneName;  //불러올씬
    // Start is called before the first frame update

    void Start(){
        
    }

    // Update is called once per frame
    void Update(){
        
    }
    public void Load() {
        SceneManager.LoadScene(SceneName);
    }
}

저장합니다. 하이라키의 RestartButtong과 NextButtong에 ChangeScene 스크립트를 어태치 합니다.

이제 RestartButton을 누르면 ChangeScene스크립트의 Load()가 실행되게 만들겁니다.

우선 하이라키의 RestartButtong을 선택후 인스펙트뷰의 OnClick의 +를 눌러 리스트를 하나 생성합니다.

하이라키의 RestartButton을 끌어다 OnClick() None에 놓습니다.  NoFuction을 선택해 팝업이 나오면 ChagneScene>Load()를 선택합니다. 오른쪽같이 변경되어야 합니다.

 

스크립트의 Scene Name에 Stage1이라고 입력합니다.

하이라키의 Canvas를 프로젝터뷰로 드래그앤드랍해서 프리팹으로 만들어줍니다. UI가 동작하기 위해서는 EventSystem도 필요한데 프리팹에는 포함되어 있지 않기 때문에 나중에 +를 눌러 추가할 수 있습니다.

 

현재 Scene의 이름이 SampleScene입니다. 이름을 Scene1으로 변경하겠습니다. 리로드해줍니다.

'유니티2D게임 > 버튼과 UI' 카테고리의 다른 글

게임과 UI를 관리하는 스크립트 만들기  (0) 2023.05.14
게임UI 만들기  (3) 2023.05.14

+ Recent posts