0
for (int i = 0; i < doors.Count; i++)
        {
            if (doorLockState == true)
            {
             var t =    doors[i].GetComponentInChildren<Transform>();
                // Color in red
            }
            else
            {
                var t = doors[i].GetComponentInChildren<Transform>();
                // Color in green
            }
        }

在这两种情况下,我都使用变量 t 来测试调试。

门[i] 每个循环有两个门。door[0] 包含两个项目,每个项目都有一个孩子。我想得到他们每个人的孩子。现在的方式是我只得到门里的物品,而不是每个人的孩子。

4

1 回答 1

2

由于每个项目仅包含 1 个孩子,您可以使用它Transform.GetChild(0)来获取第一个也是唯一的孩子。剩下的很简单,遍历doors[i] 中的每一项并得到他们的孩子。

foreach(Transform child in dooors[i].GetComponentsInChildren<Transform>())
{
    Transform childOfChild = child.GetChild(0);
}
于 2019-03-24T08:05:33.017 回答