关于Unity5.3.4版本GetComponentsInChildren函数的一个小坑
来源:互联网 发布:云计算产业价值链 编辑:程序博客网 时间:2024/06/12 20:33
之前在网上看过关于获取所有子物体的方法,是通过GetComponentsInChildren<Transform>()函数得到所有子物体的Transform,从而可以得到GameObject,但是今天我偶然发现这个函数有一个问题,不知道是不是版本的问题。
我搭建了如图的场景
然后把如下脚本挂载在父物体上:
运行后,输出日志如下
然后我把父物体的BoxCollider移除掉,吧脚本改成这样:
运行时,输出日志如下:
最后我把代码再次更改,并得到了如下的运行结果
于是我得出结论,
GetComponentsInChildren函数可以寻找到所有子物体上面的组件,但是在此之前也会尝试寻找当前物体上的组件,如果找到了,当前物体的组件会一并存放在数组里面返回,如果没找到,返回的是子物体上面的组件
后来,我对场景与代码做了如下调整,得到了惊人的结果:
后来我去查看了API文档,原文如下,在此不做翻译:
注意:
版本问题未测试过,此时我使用的版本是5.3.4f1
【2016年11月14日更新:】GetComponentsInChildren有两个版本,一个是Component类继承下来的版本,另一个是GameObject类的版本
一下是API文档原文,此处不做翻译
GameObject类版本
Component类版本
0 0
- 关于Unity5.3.4版本GetComponentsInChildren函数的一个小坑
- STM32 V3.5.0版本固件口中关于RCC_GetClocksFreq()函数的一个小细节
- 关于Unity5.x版本AssetBundle打包Shader的问题
- 一个关于printf()函数的小程序
- GetComponentsInChildren
- GetComponentsInChildren
- 关于网络请求调用函数的一个小实验
- 关于 Numpy 数组作为函数参数的一个小问题
- 关于List的一个小问题——remove()函数
- 关于List的一个小问题——remove()函数
- 关于用addr2line解析函数地址的一个小探索
- 关于window.onload的一个实用小函数
- 关于mysql isnull函数的一个小技巧
- 关于深浅拷贝的一个小坑
- 关于ssh连接的一个小坑
- 关于 Date() 函数在 iOS 中的一个小坑
- Unity5.3版本的与Oculus结合
- php-empty()函数的一个小坑
- Android Dialog
- unix select() 任务调度机制分析
- rename
- 常用的第三方框架
- java 使用org.w3c.dom操作XML文件
- 关于Unity5.3.4版本GetComponentsInChildren函数的一个小坑
- 安卓apktool jarsigner 命令
- 简单工厂模式---《大话设计模式》笔记
- 软件测试的资料
- UML入门之14图与图之间的关系
- 酷炫的Activity切换动画,打造更好的用户体验
- iOS 判断是否有新版本更新
- hibernate+MySQL性能测试
- 【bzoj2555】SubString