Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在一个循环中获得两个GameObjects子对象? for(int i=0;i_C#_Unity3d - Fatal编程技术网

C# 如何在一个循环中获得两个GameObjects子对象? for(int i=0;i

C# 如何在一个循环中获得两个GameObjects子对象? for(int i=0;i,c#,unity3d,C#,Unity3d,我在这两种情况下都使用变量t,只是为了测试调试 门[i]每个环路有两个门。 doors[0]包含两个项,每个项都有一个子项。 我想得到他们每个人的孩子。现在,我只获取doors中的项目,而不是每个项目的子项。由于每个项目仅包含一个子项,因此可以使用Transform.GetChild(0)获取第一个子项和唯一子项。剩下的很简单,遍历doors[i]中的每一项,然后找到他们的孩子 for (int i = 0; i < doors.Count; i++) {

我在这两种情况下都使用变量t,只是为了测试调试

门[i]每个环路有两个门。 doors[0]包含两个项,每个项都有一个子项。
我想得到他们每个人的孩子。现在,我只获取doors中的项目,而不是每个项目的子项。

由于每个项目仅包含一个子项,因此可以使用
Transform.GetChild(0)
获取第一个子项和唯一子项。剩下的很简单,遍历doors[i]中的每一项,然后找到他们的孩子

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
            }
        }
foreach(在dooors[i].GetComponentsInChildren()中转换子对象)
{
Transform childOfChild=child.GetChild(0);
}

由于每个项仅包含一个子项,因此可以使用
Transform.GetChild(0)
获取第一个子项和唯一子项。剩下的很简单,遍历doors[i]中的每一项,然后找到他们的孩子

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
            }
        }
foreach(在dooors[i].GetComponentsInChildren()中转换子对象)
{
Transform childOfChild=child.GetChild(0);
}

正在工作,如果有多个孩子?我犯了一个错误,每个项目有两个孩子,而不是一个。在索引0和索引1处。我可以添加另一行转换childOfChild1=child.GetChild(1);但也许有更好的方法吗?@DubiDuboni foreach循环适用于任何数量的儿童。如果有多个childOfChild,可以使用childCount()创建for循环。例如:
for(int i=0;i
正在工作,是否有多个child?我犯了一个错误,每个项目有两个孩子,而不是一个。在索引0和索引1处。我可以添加另一行转换childOfChild1=child.GetChild(1);但也许有更好的方法吗?@DubiDuboni foreach循环适用于任何数量的儿童。如果有多个childOfChild,可以使用childCount()创建for循环。例如:
for(int i=0;i