이번 예제는 씬 전환 포스팅에 이어서
진행됩니다. 01. Scenes 폴더에 새로운 씬을 만들어줍니다. 새로 만든 씬에 편하게 Stage를 만들어주기 위해 Main 신으로 가서 Stage만 복사한 뒤 Stage_2 씬으로 와서 붙여넣기를 해줍니다. Stage_2인 만큼 Boxes 안에 Cube들을 복 붙 하여 추가하고 위치를 조절해줍니다. Stage_2 씬의 Stage 오브젝트에 LoadScene 스크립트를 추가한 뒤 Main을 넣어줍니다. Main 씬과 Stage_2의 씬을 구별하기 위해 bool형 변수를 선언하여 줍니다. Add Open Scenes 버튼을 클릭하여 씬을 추가해줍니다. Main 씬으로 돌아가고 Player에 있는 LoadScene에서 Load될 씬의 이름을 Stage_2로
해줍니다. 이처럼 3개의 Cube를 없앴을 때 Stage_2 씬으로 넘어가는 걸 확인하실 수 있습니다. 이 코딩의 부분은 https://docs.unity3d.com/kr/530/ScriptReference/Object.DontDestroyOnLoad.html Unity - 스크립팅 API: Object.DontDestroyOnLoad When loading a new level all objects in the scene are destroyed, then the objects in the new level are loaded. In order to preserve an object during level loading call DontDestroyOnLoad on it. If the object is a component or game object then its entire tra docs.unity3d.com 을 참고했습니다.
이렇게 적용을 한 뒤 Player에 있는 LoadScene 스크립트를 제거해주시고 요로코롬 Stage에 다시 적용시켜 주겠습니다. 이렇게
Player 오브젝트는 유지되면서 씬이 전환되는 것을 보실 수 있습니다. 플레이 버튼을 누르면 Hierarchy에 DontDestroyOnLoad 안에 Player가 속해있는 걸 보실 수 있으며 씬이 전환되었을 때도 유지가 되는 것을 확인하실 수 있습니다. |