版本:Unity 6 (6000.0)
语言英语
  • C#

SceneManager.GetSceneAt

建议更改

成功!

感谢您帮助我们提升 Unity 文档的质量。虽然我们无法接受所有提交,但我们会阅读用户建议的每项更改,并在合适的地方进行更新。

关闭

提交失败

由于某种原因,您的更改建议无法提交。请于几分钟后<a>再试</a>。感谢您抽出时间帮助我们提升 Unity 文档质量。

关闭

取消

声明

public static SceneManagement.Scene GetSceneAt(int index);

参数

index 要获取的场景的索引。索引必须大于或等于 0 且小于 SceneManager.sceneCount。

返回值

Scene对 SceneManager 载入的场景列表中指定索引处场景的引用。

描述

从 SceneManager 已载入场景的列表中获取 index 处的场景。

using System.Text;
using UnityEditor;
using UnityEngine.SceneManagement;

public class Example { // adds a menu item which gives a brief summary of currently open Scenes [MenuItem("SceneExample/Scene Summary")] public static void ListSceneNames() { StringBuilder sb;

if (SceneManager.sceneCount > 0) { sb = new StringBuilder(); for (int n = 0; n < SceneManager.sceneCount; ++n) { Scene scene = SceneManager.GetSceneAt(n); sb.Append(scene.name); sb.Append(scene.isLoaded ? " (Loaded, " : " (Not Loaded, "); sb.Append(scene.isDirty ? "Dirty, " : "Clean, "); sb.Append(scene.buildIndex >= 0 ? " in build)\n" : " NOT in build)\n"); } } else { sb = new StringBuilder("No open Scenes."); } EditorUtility.DisplayDialog("Scene Summary", sb.ToString(), "OK"); } }