Unity3D 重載/加載 scene

說明:本人使用的 unity 版本爲 2017.2.0f3。原文發佈在 我的notes

很多時候我們會需要在遊戲結束,重新開始的時候,從當前狀態回到場景初始狀態。下面一步步講解。

  1. 首先使用 UnityEngine.SceneManagement 命名空間,方便調用
using UnityEngine.SceneManagement
  1. 通過使用 LoadScene 方法加載一個新的場景。可傳入 場景名稱/路徑sceneBuildIndexLoadScene 還有第二個參數 mode,選擇加載模式,默認爲 singlemodeSingleAdditive 兩種。Single 模式下,會關閉當前所有場景並加載需要的場景。Additive 模式下,會把需要加載的場景直接添加到當前場景中。
// 通過 sceneName,比如我有個名爲 Main 的場景
SceneManager.LoadScene("Main");

// 通過 sceneBuildIndex,這裏通過 scene 的 buildIndex 屬性來取得 sceneBuildIndex
// 當前場景爲 Main,我需要重新載入它,通過 GetActiveScene 方法來獲取當前活躍的場景
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
  1. 使用 LoadScene 的時候,場景的加載不會立即完成,會在下一幀的時候完成。這種非異步的方式可能會造成場景的混亂或者其他令人困惑的問題。所以建議使用異步的方式,使用 LoadSceneAsync 方法代替 LoadScene。使用方式與 LoadScene 一樣,該方法會在後臺異步加載場景。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章