# Unity scene 掉落重來(完全重置) GetActiveScene()方法會回傳現在被載入的scene物件。 buildIndex是scene的索引值。第一個scene編號是0,跟陣列一樣。 ```C#= public float threshold =-30f; void Update() { if(transform.position.y<threshold) { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);//掉下去的話會重新開始 } } ``` 原本的寫法是 ```C#= SceneManager.LoadScene(sceneNumber);//sceneNumber為目前scene的buildIndex ``` 載入下一個scene ```C#= SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1); ``` Scene增加可讀性的寫法 ```C#= private void Reset() { int CurrentSceneIndex = SceneManager.GetActiveScene().buildIndex; SceneManager.LoadScene(CurrentSceneIndex); // SceneManager.LoadScene(0);現在房間是0 } private void NextLevel() { int CurrentSceneIndex = SceneManager.GetActiveScene().buildIndex; int NextSceneIndex = CurrentSceneIndex + 1; if(NextSceneIndex==SceneManager.sceneCountInBuildSettings) { NextSceneIndex = 0;//回到一開始的scene 同時不用洗成SceneManager.LoadScene(0) } SceneManager.LoadScene(NextSceneIndex); } ``` ###### tags: `unity`
{"metaMigratedAt":"2023-06-17T22:37:56.614Z","metaMigratedFrom":"Content","title":"Unity scene","breaks":true,"contributors":"[{\"id\":\"9be48535-8f15-404d-8fdb-b01990d37456\",\"add\":1146,\"del\":5}]"}
Expand menu