有没有办法获得所有子游戏对象?我正在尝试GameObject.Find
,但需要名称为string
。
答案 0 :(得分:5)
你可以找到你喜欢的所有孩子GameObjects:
制作一个列表,告诉Unity类型是GameObject。
List<GameObject> list = new List<GameObject>();
然后使用foreach
循环遍历父GameObject的变换。请注意,在代码中,我们利用Transform具有gameObject
组件的事实。
foreach(Transform t in transform)
list.Add(t.gameObject);
答案 1 :(得分:0)
最简单的方法可能是遍历您的gameObject.transform
,它将遍历每个子Transform(然后您可以从中访问其GameObject):
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
void Example() {
foreach (Transform child in transform) {
child.gameObject.name = "foo";
// or do something else with child.gameObject
}
}
}
另一种方法是使用GetComponentsInChildren,但要注意,如果你正在寻找GameObjects,这也将返回你正在调用它的当前对象。