如何在一个循环中同时获取两个GameObjects子项?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在一个循环中同时获取两个GameObjects子项?相关的知识,希望对你有一定的参考价值。

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]每个环有两个门。门[0]包含两个项目,每个项目有一个孩子。我想得到他们每个人的孩子。现在我的方式就是把门里的物品拿来,而不是每个人的孩子。

答案

由于每个项目只包含1个孩子,因此您可以使用Transform.GetChild(0)获取第一个也是唯一一个孩子。其余的很简单,循环通过门[i]中的每个项目并让他们的孩子。

foreach(Transform child in dooors[i].GetComponentsInChildren<Transform>())
{
    Transform childOfChild = child.GetChild(0);
}

以上是关于如何在一个循环中同时获取两个GameObjects子项?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 C# 代码在 GameObjects 数组中添加游戏对象?

在C#中是否可以在一个列表中添加两个参数?

如何在 Unity 中让 GameObjects 在屏幕上平滑平移?

Python 使用 tkinter 同时循环两个循环

如何在 django 中同时获取两个模型

如何在 Linux 上同时等待两个条件?