【Unity】使用SceneManager加載/切換場景


一、直接切換

老版的(已棄用!):

Application.LoadLevel(int index); // 參數是場景編號
Application.LoadLevel(string name); // 參數是場景名字

新版的:

// 使用SceneManager!
using UnityEngine.SceneManagement; // 必須要引入

public class TestChangeScene : MonoBehaviour {
    private string sceneName;
    void ChangeScene(){
        // 切換場景
        SceneManager.LoadScene(1); // 參數是場景編號或場景名字
        // 獲取當前場景的名字
        sceneName = SceneManager.GetActiveScene().name;
    }
}

注意點:

  • 網上搜的資料大多是老版本的寫法,小心被坑!還是看文檔最靠譜。
  • 需要把加載的場景在File -> Build Setting中添加。
  • 切換場景后所有加載物體都將刪除,除非使用Object.DontDestroyOnLoad(Object)添加標記,例如人物角色(包括掛載在這些對象身上的腳本)在切換場景后需要保留,就可以用此方法。

二、異步加載場景

http://www.cnblogs.com/guxin/p/unity-use-coroutine-asynchronously-load-scene.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM