Unity教學 EP.7|場景切換與管理(Scene Management)
專欄/短評
寄樹人猿 RON
更新日:2025年4月2日
Unity 裡的遊戲通常不只一個畫面,從「主選單 → 遊戲關卡 → 結算畫面」都屬於不同場景(Scene)。這篇我們來學會場景之間的切換,為你的遊戲建立完整流程!
一、建立與儲存場景
你可以從 File → New Scene 新增場景。設計完後,記得 Ctrl + S 儲存,建議放在 Scenes 資料夾裡以方便管理。
範例:
StartScene:主選單GameScene:主遊戲關卡EndScene:結束畫面
二、加入Build Settings
所有你要切換的場景都必須加入 Build Settings 才能被使用。步驟如下:
- 開啟 File → Build Settings
- 點選「Add Open Scenes」加入目前場景
- 多個場景可依上下順序排序,index從0開始(通常是主場景)
三、使用 SceneManager 切換
先加入命名空間:
using UnityEngine.SceneManagement;
在按鈕中呼叫切換方法:
public void GoToGameScene()
{
SceneManager.LoadScene("GameScene");
}
你也可以用數字來切換:
SceneManager.LoadScene(1); // 載入Build Index為1的場景
四、延伸:非同步加載與Loading畫面
有時場景資源多、載入時間長,建議使用 LoadSceneAsync:
IEnumerator LoadSceneWithDelay(string sceneName)
{
AsyncOperation operation = SceneManager.LoadSceneAsync(sceneName);
while (!operation.isDone)
{
// 可以顯示讀取進度條
yield return null;
}
}
可搭配一個 LoadingScene 作為中介,讓玩家不會看到黑畫面。
五、物件跨場景保存
如BGM物件或全域管理器可使用:
DontDestroyOnLoad(gameObject);
這樣切換場景時,該物件不會被摧毀。
Unity教學-從零開始打造你的遊戲世界
Unity 一對一/小班制教學|新手入門到進階開發,依需求客製課程內容
IT/程式 > 程式設計
$ 100000
$ 100000
0 / 1000