转载:Unity找到物体子层级的几种方式

1.Transform - Transform Find(string name)


可以直接根据名称搜索到子层级节点和孙节点等,

支持非激活的节点,但不能返回数组不支持搜索自身;

Transform bTransform = transform.Find("a/b");

 

2.Transform - Transform FindChild(string name)

可以搜索到子节点,但不支持孙节点,曾孙节点等。

支持非激活的节点不支持搜索自身,出场率很低,基本用不到;

Transform aTaransform = transform.FindChild("a");

 

3.Component - T GetComponentInChildren<T>(bool includeInactive)

支持深度搜索,而不是只搜索下一层级。

注意如果父物体自身存在这个组件,则返回父物体上的组件;


如果是非激活的对象,第二个参数includeInactive设为true即可搜索到,

但缺点是只能搜索组件,不能按照名称搜索

但GetComponentsInChildren可以搜索多个,返回数组;

 

posted @ 2017-10-11 15:26  南山砍柴  阅读(3158)  评论(0编辑  收藏  举报