Last Updated on 2021-11-03 by Clay
很少會有遊戲是從頭到尾都是一個場景的,就連紅白機上的遊戲普遍地也都存在著『開始介面』>『遊戲第一關』>『遊戲第二關』...... 這樣的場景切換。
今天我要來紀錄的,便是如何使用程式碼切換場景。切換場景觸發的原因可以是點擊了特定按鈕、按下了特定按鍵等等 ...... 這些就依照每款遊戲不同的需求而定吧!
切換遊戲場景
首先,從 File > Build Settings... 確認目前遊戲開發的場景(scene)都有被加入。
如果有沒加入的場景,可以點擊右下方的 Add Open Scenes
來加入目前打開的場景。同時,記住場景名稱右邊的編號,之後我們可以藉由編號來切換場景。
切換場景的程式碼如下:
SceneManager.LoadScene(0);
觸發的時間就按照遊戲需求而定。當程式執行到這一行時,就會自動切換成場景 0 了。
重新開始遊戲關卡
有個很常見的功能一併紀錄,那就是重新開始當前遊戲關卡。一款遊戲,比方說貪吃蛇,可能我們不小心撞牆自爆了;那麼這時候,若是我們要讓玩家可以重設關卡再一次挑戰,就可以使用以下程式碼:
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
這樣就會自動重新當前場景了。
References
- https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.html
- https://docs.unity3d.com/2018.1/Documentation/ScriptReference/SceneManagement.SceneManager.LoadScene.html
- https://docs.unity3d.com/ScriptReference/SceneManagement.Scene-name.html