유니티
유니티 2D에서 씬 이동하기
_마루
2023. 3. 20. 18:02
728x90
반응형
유니티 2D에서 씬 이동하는 코드는 다음과 같이 작성할 수 있습니다.
using UnityEngine.SceneManagement; // 씬 매니지먼트 기능 사용을 위한 네임스페이스
|
public void ChangeScene(string sceneName)
|
{
|
SceneManager.LoadScene(sceneName); // 씬 로드 함수를 호출하여 sceneName으로 지정한 씬으로 이동
|
}
|
위 코드는 ChangeScene이라는 함수를 만들어, 인자로 전달된 sceneName에 해당하는 씬으로 이동하는 기능을 구현합니다. 이 함수를 호출하는 방법은, 예를 들어 UI 버튼 클릭 이벤트에서 OnClick 이벤트에 해당 함수를 등록하거나, 코드에서 직접 호출하는 등 다양한 방법이 있습니다.
또한, 만약 씬 이동시 전달할 데이터가 있다면, 다음과 같이 LoadScene 함수의 LoadSceneMode 파라미터를 이용해 전달할 수 있습니다.
using UnityEngine.SceneManagement;
|
public void ChangeSceneWithParams(string sceneName, object data)
|
{
|
SceneManager.LoadScene(sceneName, LoadSceneMode.Single);
|
SceneManager.GetActiveScene().GetRootGameObjects()[0].SendMessage("ReceiveData", data);
|
}
|
위 코드에서는 LoadScene 함수의 두 번째 파라미터로 LoadSceneMode.Single을 전달하여 새로운 씬을 로드하고, 이후 GetActiveScene 함수로 현재 씬을 가져와서 해당 씬의 루트 게임 오브젝트 중 첫 번째를 찾아서 SendMessage 함수를 호출합니다. 이를 통해 씬 이동시 전달할 데이터를 ReceiveData 함수로 전달할 수 있습니다.
728x90
반응형