Unity3D 获取transform下的子物体及其的索引

记录一下:

1.通过子物体名字,得到子物体

public Transform trans;//父物体

void Start()
{
    //gob为某个子物体
    Transform t = trans.Find(gob.name);
    print(t);
}

2.通过子物体,找其在父物体下的索引(设置其索引:SetSiblingIndex(0)方法,参数为要设置的索引号)

private Transform son;//子物体

void Start()
{
    //得到son在父物体下的索引
    int index = son.GetSiblingIndex();
    print(index);
}

3.通过子物体名字,找其索引

public Transform trans;//父物体

void Start()
{
    //gob为某个子物体
    int index = trans.Find(gob.name).GetSiblingIndex();
    print(index);
}

4.通过索引得到子物体

public Transform trans;//父物体

void Start()
{
    //t为父物体下第二个子物体
    Transform t = trans.GetChild(1);
}

5.得到所有子物体(不包括孙物体)

public Transform trans;//父物体

void Start()
{
    foreach(Transform tr in trans)
    {
        //每一个tr即为该父物体下的子物体
        print(tr);
    }
}

6.统计父物体下子物体的个数(不包括孙物体)

public Transform trans;//父物体

void Start()
{
    //所有子物体的个数
    int num=trans.childCount;
    print(num);
}

7.把所有的子物体从父物体下移出

public Transform trans;//父物体

void Start()
{
    //移出所有子物体
    trans.DetachChildren();
}

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐