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();
}