UNITY/Unity Study

버튼 눌러 팝업창 넘기기

GREEN나무 2023. 8. 2. 09:47
728x90

유니티에서 버튼을 누를 때 다음 팝업으로 넘어가는 방법입니다.

 

스크립트 없이 다른 팝업창 띄우기

UI버튼으로 다른 팝업창 띄울 수 있게 하기

On Click()에 띄울 팝업창을 넣고

GameObject > SetAction(bool) 선택하고 체크박스 체크하기( = 활성화)

OnClick()에 넣은 UI는 비활성화 시켜서 필요할 때만 보이게 합니다.

https://youtu.be/fQoCMUJoD7A

 

스크립트 사용

1. Scene을 사용하여 팝업 전환하기:
   이 방법은 여러 개의 팝업이 있는 경우 사용하기 적합합니다. 각 팝업은 별도의 Scene으로 구성되어 있습니다.

   1. 각 팝업마다 별도의 Scene을 만듭니다.
   2. 각 Scene에는 팝업 UI를 구성합니다.
   3. 버튼을 누를 때마다 다음 Scene으로 전환하도록 코드를 작성합니다.
   4. 이전 팝업으로 돌아가기 위해 이전 Scene으로 전환하는 코드를 작성할 수도 있습니다.

using UnityEngine;
using UnityEngine.SceneManagement;

public class PopupManagerSceneChange : MonoBehaviour
{
    public void LoadNextPopupScene()
    {
        int currentSceneIndex = SceneManager.GetActiveScene().buildIndex;
        SceneManager.LoadScene(currentSceneIndex + 1);
    }

    public void LoadPreviousPopupScene()
    {
        int currentSceneIndex = SceneManager.GetActiveScene().buildIndex;
        SceneManager.LoadScene(currentSceneIndex - 1);
    }
}



   각 팝업 Scene의 버튼에 `LoadNextPopupScene()` 또는 `LoadPreviousPopupScene()` 메서드를 연결하면 됩니다.

2. UI Canvas를 사용하여 팝업 전환하기:
   이 방법은 팝업이 하나만 있는 경우 사용하기 좋습니다. 하나의 UI Canvas 안에 여러 개의 팝업을 구성하고, 버튼을 누를 때마다 팝업을 활성화 또는 비활성화하여 전환합니다.

   1. UI Canvas를 만들고 각 팝업 UI를 Canvas에 넣습니다.
   2. 버튼을 누를 때마다 해당 팝업을 활성화 또는 비활성화하는 코드를 작성합니다.

 

using UnityEngine;

public class PopupManagerUIChange : MonoBehaviour
{
    public GameObject[] popups; // 각 팝업 UI를 가리키는 배열

    public void ShowNextPopup()
    {
        for (int i = 0; i < popups.Length; i++)
        {
            popups[i].SetActive(i == 1); // 다음 팝업은 활성화, 이전 팝업들은 비활성화
        }
    }

    public void ShowPreviousPopup()
    {
        for (int i = 0; i < popups.Length; i++)
        {
            popups[i].SetActive(i == 0); // 이전 팝업은 활성화, 다음 팝업들은 비활성화
        }
    }
}


   버튼에 `ShowNextPopup()` 또는 `ShowPreviousPopup()` 메서드를 연결하면 됩니다.

이렇게 두 가지 방법 중에서 적절한 방법을 선택하여 팝업을 전환할 수 있습니다. 사용자에게 보여주고자 하는 팝업에 따라서 적합한 방법을 선택하시면 됩니다.