SceneManager
运行时场景管理
| Static Properties | 类方法 |
|---|---|
| sceneCount | 加载的场景个数 |
| sceneCountInBuildSettings | 构建版本中的场景总数 |
| Static Methods | 类方法 |
|---|---|
| CreateScene | 命名并创建一个空的场景 |
| GetActiveScene | 获得当前活动的场景 |
| GetSceneAt | 根据场景管理器的列表索引获得场景 |
| GetSceneByBuildIndex | 从构建索引获取场景结构 |
| GetSceneByName | 根据场景的名称获取场景 |
| GetSceneByPath | 根据路径获取场景 |
| LoadScene | 根据构建版本中的场景名称或索引读取场景 |
| LoadSceneAsync | 异步读取场景 |
| MergeScenes | 将源场景合并到目标场景中 |
| MoveGameObjectToScene | 将当前场景中的游戏对象移动到目标场景中 |
| SetActiveScene | 设置当前的场景为活动状态 |
| UnloadSceneAsync | 异步卸载场景 |
| Events | 事件 |
|---|---|
| activeSceneChanged | 当活动的场景发生改变 |
| sceneLoaded | 一个场景被加载完成 |
| sceneUnloaded | 一个场景被卸载 |
SceneManager.LoadScene
public static void LoadScene(int sceneBuildIndex, SceneManagement.LoadSceneMode mode = LoadSceneMode.Single);
public static void LoadScene(string sceneName, SceneManagement.LoadSceneMode mode = LoadSceneMode.Single);
其中LoadSceneMode为枚举,具有两个模式:
Single:关闭当前加载的场景后加载一个新的场景 Additive:不关闭当前场再加载一个新的场景
SceneManager.LoadSceneAsync
当调用这个方法加载场景,会获得一个AsyncOperation对象
AsyncOperation对象中包含:
| Properties | 属性 |
|---|---|
| allowSceneActivation | 当前场景是否可以立马成为活动状态 |
| priority | 让你调整优先顺序异步操作调用将被执行 |
| progress | 获取加载场景的进度(只读)[0...1] |
| Events | 事件 |
|---|---|
| completed | 场景加载完成,当场景加载完成这个事件方法会被同步调用 |