有没有办法获取所有子游戏对象?我正在尝试GameObject.Find
,但这需要名称为string
.
问问题
6768 次
2 回答
5
您可以像这样找到所有子游戏对象:
列个清单,告诉 Unity 类型是 GameObject。
List<GameObject> list = new List<GameObject>();
然后使用foreach
循环遍历父 GameObject 的变换。请注意,在代码中,我们利用了Transform具有gameObject
组件的事实。
foreach(Transform t in transform)
list.Add(t.gameObject);
于 2014-07-01T02:55:52.230 回答
0
最简单的方法可能是循环遍历您的gameObject.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,这也将返回您从中调用它的当前对象。
于 2014-07-01T02:57:23.677 回答