SceneManager class in UnityEngine.SceneManagement 描述 运行时的场景管理。 静态变量 sceneCount: 当前加载的场景的总数。 前加载的场景的数量将被返回。 sceneCountInBuildSettings : 在BuildSettings的号码。 ―――――――――――――――――――― 静态函数 ――――――――――――――――――――――― CreateScene:在运行时创建一个空的新场景,使用给定的名称。 在运行时创建一个空的新场景,使用给定的名称。 新的场景将开放相加到层次与现有已经打开的场景。新场景的路径将是空的。此函数用于在运行时创建场景。创建一个场景编辑时间(例如,使编辑脚本或工具需要创建场景时),使用editorscenemanager.newscene。 ―――――――――――――――――――――――― public static SceneManagement.Scene GetActiveScene() 现场的活动场景。 描述 获取当前活动场景。 当前活动的场景将被用来作为目标由脚本实例化新的游戏对象现场。 using UnityEngine; using UnityEngine.SceneManagement; public class GetActiveSceneExample : MonoBehaviour { void Start() { Scene scene = SceneManager.GetActiveScene(); Debug.Log("Active scene is '" + scene.name + "'."); } } ―――――――――――――――――――――― public static SceneManagement.Scene GetSceneAt(int index); index:场景索引。指数必须大于或等于0和小于scenemanager.scenecount。 返回: 根据给定的参数返回一个场景引用。 获取现场在添加场景的场景管理器的列表索引: using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine.SceneManagement; using UnityEngine; public class Example { // adds a menu item which gives a brief summary of currently open scenes [MenuItem("SceneExample/Scene Summary")] public static void ListSceneNames() { string output = ""; if (SceneManager.sceneCount > 0) { for (int n = 0; n < SceneManager.sceneCount; ++n) { Scene scene = SceneManager.GetSceneAt(n); output += scene.name; output += scene.isLoaded ? " (Loaded, " : " (Not Loaded, "; output += scene.isDirty ? "Dirty, " : "Clean, "; output += scene.buildIndex >=0 ? " in build)\n" : " NOT in build)\n"; } } else { output = "No open scenes."; } EditorUtility.DisplayDialog("Scene Summary",output, "Ok"); } } public static SceneManagement.Scene GetActiveScene(); 获取当前活动场景。 当前活动的场景将被用来作为目标由脚本实例化新对象。 using UnityEngine; using UnityEngine.SceneManagement; public class GetActiveSceneExample : MonoBehaviour { void Start() { Scene scene = SceneManager.GetActiveScene(); Debug.Log("Active scene is '" + scene.name + "'."); } } public static void LoadScene(int sceneBuildIndex, SceneManagement.LoadSceneMode mode = LoadSceneMode.Single); public static void LoadScene(string sceneName, SceneManagement.LoadSceneMode mode = LoadSceneMode.Single); sceneName: 需发加载的场景名称或路径。 sceneBuildIndex:在“ Build Settings”加载中的场景的索引。 Mode:允许您指定是否要加载相加现场。见LoadScene模式有关选项的详细信息。 LoadSceneMode:在播放器加载一个场景时使用。 Single:关闭所有当前场景和加载一个新场景。 Additive:将场景添加到当前加载的场景中。 你可以使用这个异步版本:LoadSceneAsync。 using UnityEngine; using UnityEngine.SceneManagement; public class ExampleClass : MonoBehaviour { void Start () { // Only specifying the sceneName or sceneBuildIndex will load the scene with the Single mode SceneManager.LoadScene ("OtherSceneName", LoadSceneMode.Additive); } } |
|