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 | 场景加载完成,当场景加载完成这个事件方法会被同步调用 |