씬 인덱스(Scene Index)
Unity에서 각각의 씬(Scene)을 구별하기 위해 사용하는 숫자
Unity의 빌드 설정(Build Settings)에서 씬들이 나열되는 순서에 따라 각 씬에 자동으로 할당
예시코드
using UnityEngine;
using UnityEngine.SceneManagement;
public class TutorialDoor : MonoBehaviour
{
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.tag == "Player")
{
// 현재 씬의 인덱스를 가져옴
int currentSceneIndex = SceneManager.GetActiveScene().buildIndex;
// 다음 씬의 인덱스 계산
int nextSceneIndex = (currentSceneIndex + 1) % SceneManager.sceneCountInBuildSettings;
// 다음 씬 로드
SceneManager.LoadScene(nextSceneIndex);
}
}
}
씬 인덱스 할당: Unity의 빌드 설정에서 씬들을 프로젝트에 추가하면, 추가된 순서대로 0부터 시작하는 인덱스가 할당
예를 들어, 빌드 설정에 첫 번째로 추가된 씬은 인덱스 0을, 두 번째로 추가된 씬은 인덱스 1을 받는다.
씬 인덱스 사용: 씬 인덱스는 프로그래밍적으로 씬을 로드하거나 참조할 때 사용.
예를 들어, SceneManager.LoadScene(int index) 함수는 인덱스를 인자로 받아 해당 인덱스의 씬을 로드.
씬 인덱스 확인: 현재 활성화된 씬의 인덱스는 SceneManager.GetActiveScene().buildIndex를 통해 얻을 수 있다.
이는 현재 씬이 빌드 설정에서 몇 번째에 위치하는지를 나타냄.
씬 인덱스와 루프: 씬 인덱스를 사용해 씬 간의 이동을 구현할 때, 마지막 씬에서 다시 첫 번째 씬으로 돌아가는 루프를 만들 수 있다. 이는 SceneManager.sceneCountInBuildSettings를 사용하여 총 씬 개수를 알아내고, 현재 씬 인덱스에 1을 더한 후 총 씬 개수로 나눈 나머지를 다음 씬 인덱스로 사용함으로써 구현
'TIL' 카테고리의 다른 글
01.08 (TIL-Unity) (0) | 2024.01.08 |
---|---|
01.05 (TIL-Unity) (0) | 2024.01.05 |
01.03 (TIL-Unity) (2) | 2024.01.03 |
01.02 (TIL-Unity) (1) | 2024.01.02 |
12.29 (TIL-Unity3D) (0) | 2024.01.02 |