在製作過程中,可能會有多個不同的Scene,像是主畫面、關卡1、關卡2等等
這時就可以使用SceneManager.LoadScene來進行scene的更換
假設我現在有了開始場景與四個關卡場景,我需要使用按鈕來進行場景切換
要使用SceneManager的話,最上方要先引入UnityEngine.SceneManagement名稱空間
然後需要先將場景新增到Build Settings
選取場景後拖曳到Scenes in Build的區域內
這時就可以看到場景已被新增進去
讀取的方法有兩個,一個是使用場景名稱,另一個是使用場景的index
先來看使用場景名稱的方式
這邊先寫了一個讀取特定名稱的方法
然後在場景裡面新增一個button,點擊後觸發這個方法
點擊後就會把場景跳轉到我所設定的Level_1這個場景
這邊要注意的是,因為讀取的方式是使用名稱,所以如果修改了場景名稱,方法內的名稱也需要修改
接著來看使用Index的方式
在上面將場景加入Build Settings的圖中可以看到,右邊有一個從0開始的數字
這個數字就是場景的Index,我們可以藉由這個Index來決定要讀取到哪個場景
這邊一樣使用方法來從Main場景來轉換到Level_1場景
點選按鈕後就可以轉換場景,這部分就不再貼一次示意圖
這時問題就來了,如果我想去到場景3 4 5,不可能每個場景都寫一個方法來使用
這時就有個比較簡單的方式可以使用一個方法去一直往後讀取下去
一樣使用Index的方式,但對方法的邏輯進行一點簡單的修改
這邊使用了(SceneManager.GetActiveScene().buildIndex來找出當前這個場景的Index
然後讀取時使用當前場景+1,就可以順利的使用一個方法一直往後順著讀取下去了
假設到了失敗或者全破後是否重來的按鈕,就可以再去使用名稱的方式來設定回到Main的方法
以上就是這次的內容
感謝收看