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

Scene.buildIndex

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实阅读了用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

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

关闭

取消

public int buildIndex;

描述

返回场景在构建设置中的索引。

Scene.buildIndex 的取值范围从零到 Scenes 在 Build Settings 中的数量减一。这是因为索引从零开始,因此第一个 ScenebuildIndex 中的位置为零。例如,Build Settings 中的五个 Scene 的索引范围为零到四。

Unity 会忽略 Scene 名称中的任何数字。例如,如果您将名为 scene15Scene 添加到 Build Settings 中的五个 Scene 列表中,Unity 会将其 buildIndex 设置为 5。

未添加到“构建设置中的场景”窗口的 Scene 返回的 buildIndex 比列表中的最大值多 1。例如,如果您没有将 Scene 添加到已经包含 6 个场景的“构建设置中的场景”窗口中,则 Scene.buildIndex 会返回 6 作为其索引。

如果场景通过 AssetBundle 加载,则 Scene.buildIndex 返回 -1。

using UnityEngine;
using UnityEngine.SceneManagement;

// Show the buildIndex for the current script. // // The Build Settings window shows 5 added Scenes. These have buildIndex values from // 0 to 4. Each Scene has a version of this script applied. // // In the Project, create 5 Scenes called scene1, scene2, scene3, scene4 and scene5. // In each Scene add an empty GameObject and attach this script to it. // // Each Scene randomly switches to a different Scene when the button is clicked.

public class ExampleScript : MonoBehaviour { Scene scene;

void Start() { scene = SceneManager.GetActiveScene(); Debug.Log("Active Scene name is: " + scene.name + "\nActive Scene index: " + scene.buildIndex); }

void OnGUI() { GUI.skin.button.fontSize = 20;

if (GUI.Button(new Rect(10, 80, 180, 60), "Change from scene " + scene.buildIndex)) { int nextSceneIndex = Random.Range(0, 4); SceneManager.LoadScene(nextSceneIndex, LoadSceneMode.Single); } } }