Unity 切换加载场景 SceneManager.LoadScene

SceneManager.LoadScene

public static void LoadScene(int sceneBuildIndex,SceneManagement.LoadSceneMode mode = LoadSceneMode.Single);

public static void LoadScene(string sceneName,SceneManagement.LoadSceneMode mode = LoadSceneMode.Single);

在构建设置中通过其名称或索引加载场景。

例子1:通过场景名来加载,并且不销毁之前的场景

using UnityEngine;
using UnityEngine.SceneManagement;//使用场景管理器

public class ExampleClass : MonoBehaviour{

    void Start()
    {
        //使用LoadScene加载场景
        //第二个参数AddSceneMode.Additive表示当前场景不销毁,并加载需要的场景
        SceneManager.LoadScene("OtherSceneName", LoadSceneMode.Additive);
    }
}

例子2:通过索引来加载,销毁当前场景

using UnityEngine;
using UnityEngine.SceneManagement;//使用场景管理器

public class ExampleClass : MonoBehaviour{

    //跳转场景
    void LoadLevel(int level)
    {        
        ScenesArgs e = new ScenesArgs();
        //获取当前场景索引
        e.scnesIndex = SceneManager.GetActiveScene().buildIndex;
        //发送退出场景事件
        SendEvent(Consts.E_ExitScenes, e);
        //发送加载新的场景事件
        //LoadSceneMode.Single:销毁当前场景,加载要加载的场景
        SceneManager.LoadScene(level,LoadSceneMode.Single);

    }
}
发布了205 篇原创文章 · 获赞 8 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/cuijiahao/article/details/103983373