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

Transform.SetSiblingIndex

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

切换到手册

声明

public void SetSiblingIndex(int index);

参数

index 要设置的索引。

描述

设置兄弟节点索引。

使用此方法更改 GameObject 的兄弟节点索引。如果一个 GameObject 与其他 GameObject 共享父节点并且位于同一级别(即它们共享同一个直接父节点),这些 GameObject 被称为兄弟节点。兄弟节点索引显示每个 GameObject 在此兄弟节点层次结构中的位置。

使用 SetSiblingIndex 更改 GameObject 在此层次结构中的位置。当 GameObject 的兄弟节点索引更改时,它在层级视图中的顺序也会更改。如果您有意对 GameObject 的子节点进行排序,例如使用布局组组件时,这很有用。

布局组也会根据其索引在视觉上重新排序组。要详细了解布局组,请参见 自动布局。要返回 GameObject 的兄弟节点索引,请参见 Transform.GetSiblingIndex

//This script demonstrates how to return (GetSiblingIndex) and change (SetSiblingIndex) the sibling index of a GameObject.
//Attach this script to the GameObject you would like to change the sibling index of.
//To see this in action, make this GameObject the child of another GameObject, and create siblings for it.

using UnityEngine;

public class TransformGetSiblingIndex : MonoBehaviour { //Use this to change the hierarchy of the GameObject siblings int m_IndexNumber;

void Start() { //Initialise the Sibling Index to 0 m_IndexNumber = 0; //Set the Sibling Index transform.SetSiblingIndex(m_IndexNumber); //Output the Sibling Index to the console Debug.Log("Sibling Index : " + transform.GetSiblingIndex()); }

void OnGUI() { //Press this Button to increase the sibling index number of the GameObject if (GUI.Button(new Rect(0, 0, 200, 40), "Add Index Number")) { //Make sure the index number doesn't exceed the Sibling Index by more than 1 if (m_IndexNumber <= transform.GetSiblingIndex()) { //Increase the Index Number m_IndexNumber++; } }

//Press this Button to decrease the sibling index number of the GameObject if (GUI.Button(new Rect(0, 40, 200, 40), "Minus Index Number")) { //Make sure the index number doesn't go below 0 if (m_IndexNumber >= 1) { //Decrease the index number m_IndexNumber--; } } //Detect if any of the Buttons are being pressed if (GUI.changed) { //Update the Sibling Index of the GameObject transform.SetSiblingIndex(m_IndexNumber); Debug.Log("Sibling Index : " + transform.GetSiblingIndex()); } } }