unity getcomponentsinchildren 翻船
2017-06-29 02:04
1456 查看
今天使用GetComponentsInChildren, 老司机翻船。因为一直以来我使用这个函数,下意识的从来所有的相同component都是放在子节点下,本身节点肯定不会放一个相同的component,不然设计上肯定是有问题的。于是我自己一直也认为该函数所取得的component不包含节点所带的component(假设有一个相同的)。我今天使用一个musicmanager类,该类在本身节点及子节点都挂载了多个audiosouce类似对象池,而本身的audiosource刚好是一直循环播放的,于是按照判断逻辑检测playing被忽略,本身节点的虽然被GetComponentsInChildren拿到了,但刚好就一直没被使用,“正好”符合GetComponentsInChildren的我所以为的行为,我仍然认为只拿到了子节点的component。于是当我贪快在本身节点多加了另一个固定的audiosource(主要代码非我创建有点懒了),但不是循环的,坏事了,多加的这个audiosource一直被归属到GetComponentsInChildren所属的集合,于是各种偶发的奇怪行为令人百思不得其解。一直以为是unitiy又抽风了,终于怀疑到这里,一看不禁老脸一红。要检讨,对这个常用函数竟然一直带着错误的认识。但仔细想想,不管是从GetComponentsInChildren本身的名字意思,还是多个相同component的挂载使用来说,我似乎也没错。天不从人愿也,戒之戒之。
相关文章推荐
- unity GetComponentsInChildren
- 我的Unity(15)一点一滴 使用GetComponentsInChildren遇到的问题
- 【转载】Unity 隱藏3D模型及 GetComponentsInChildren 的使用
- 面向组件编程之Unity 3.怎样获取脚本所在物体的各种组件 例如:GetComponentInChildren<T>()/GetComponentsInChildren<U>()
- GetComponentsInChildren Not Work In OnDisable[Unity]
- Unity_ GetComponentsInChildren<T>(Bool includeInactive) 获取自己和它的孩子有同样的组件
- Unity 关于GetComponentsInChildren 利用扩展方法如何避免获取父物体
- unity之getComponentsInChildren<T>()
- GetComponentsInChildren<类> 用法
- GetComponentsInChildren<T>()方法详解
- GetComponentsInChildren(); 使用方法(转)
- Component.GetComponentsInChildren
- Unity3D——GetComponentsInChildren<T>()方法详解
- 测试-关于Unity获取子层级内容的几种接口(Transform FindChild, Component GetComponentInChildren,...)
- GetComponentsInChildren(); 使用方法
- Unity学习笔记(四)-----------脚本、parent、GetComponent、GetComponentInChildren
- GetComponentsInChildren
- GetComponentsInChildren
- GetComponentInChildren和Find("X").GetComponent
- GetComponentInChildren方法的使用注意事项