如何创建一个订购儿童的课程?

时间:2018-05-22 08:10:48

标签: c# unity3d

我想创建一个可以命令GameObject的所有子节点的类。所以我有一个GameObject,它包含大约50个孩子。现在我正在创建一个新对象,让他成为这个游戏对象的孩子。现在,在这个孩子中,我从主游戏对象中添加了3个孩子。下面是我写的代码,但有些不对劲。

private GameObject CloneObject;
private int index = 0;

[ExecuteInEditMode]
void Start()
{

    for (int i = 0; i < transform.childCount; i++)
    {
        index++;

        if (index == 3)
        {
            CloneObject = new GameObject("ob");
            CloneObject.transform.parent = transform;
            transform.GetChild(i).transform.parent = CloneObject.transform;
            index = 0;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

这个循环的作用是创建(int)(transform.childCount / 3)GameObjects,每个GameObjects都有一个子节点。我想你需要的是:

CloneObject = new GameObject("ob");
for (int i = 0; i < transform.childCount; i++)
{
    index++;

    CloneObject.transform.parent = transform;
    transform.GetChild(i).transform.parent = CloneObject.transform;

    if (index == 3)
    {
        CloneObject = new GameObject("ob");
        index = 0;
    }
}

将前3个子对象添加到当前GameObject,然后创建一个新对象。