GetComponentsInChildren以及GetComponentsInParent

本文详细解析了Unity中各种组件搜索方法的区别,包括GetComponent、GetComponents、GetComponentInChildren、GetComponentsInChildren及其泛型版本,以及GetComponentsInParent的用法。深入探讨了这些方法在搜索范围、是否包含隐藏组件等方面的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GetComponent、GetComponents 只搜索gameobject本身(不包含子节点),并且不管gameobject的本身是否隐藏、组件是否隐藏。GetComponents增加可以搜索gameobject本身包含的多个相同组件。

GetComponentInChildren 可以搜索gameobject本身的组件,并且不管gameobject的本身是否隐藏、组件是否隐藏。但还可以搜索gameobject子节点的组件,如果子节点的gameobject为隐藏状态(组件隐不隐藏无所谓),则搜索不到。
返回搜索到的第一个组件(有多个组件搜索到的情况)。

GetComponentsInChildren 同上,返回搜索到的所有组件,注意:如果子节点gameobject为隐藏状态,那么它下面的所有子节点都搜索不到,不管状态是否隐藏。

GetComponentsInChildren<T>(bool includeInactive) 所有的组件都可以找到,不管什么状态。

==========================================
GetComponentsInParent 这个是向上查找,包含自己,如果自己隐藏状态,是找不到自己的组件,这个和上面的有区别,往上搜索,只有gameobject为显示状态才能找到

GetComponentsInParent<T>(bool includeInactive) 所有的上层组件都可以找到,不管什么状态。



作者:jojo911
链接:https://www.jianshu.com/p/c677da66c829
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值