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()` 메서드를 연결하면 됩니다.
이렇게 두 가지 방법 중에서 적절한 방법을 선택하여 팝업을 전환할 수 있습니다. 사용자에게 보여주고자 하는 팝업에 따라서 적합한 방법을 선택하시면 됩니다.
'UNITY > Unity Study' 카테고리의 다른 글
유니티(Unity) - 플레이어 따라다니는 npc 만들기 (0) | 2023.08.03 |
---|---|
한글 폰트 사용하기 (0) | 2023.08.02 |
목표에 도달하면 팝업창 띄우기 (0) | 2023.08.01 |
해결 - 따로 돌릴 땐 됐는데 합치니 제 기능을 못 함 (0) | 2023.07.31 |
애셋배치-학교 (0) | 2023.07.29 |