Unity 关于GetComponentsInChildren 利用扩展方法如何避免获取父物体
2017-05-12 20:29
906 查看
1:相信大家都有用到GetComponentsInChildren这个方法吧?但是再用这个方法的时候,如果GetComponentsInChildre<T>(),
如果父对象和子对象都存在相同的T,那么这个得到的数组也会包含父对象中的T,这个在很多情况下我们是不要的,那么如何解决这个问题呢?
2:解决方法
相信大家要写肯定都会啦,这里我是写了扩展方法(具体C#扩展方法,找度娘啦)
1:首先创建一个MyExtension类,不继承mono(注意static),然后写了一个方法
然后使用
就可以了,不过GetComponentsInChildren有个重载方法,我在这里小提一下
public T[] GetComponentsInChildren<T>(bool includeInactive);
这个重载,默认是false,includeInactive=true,那么在获取子对象的时候如果T对象是关闭的仍然可以得到,
如果includeInactive=false, 那么就不会获得关闭的T对象
为true的时候
下面我们修改一下自己写的扩展方法(其实没啥修改QAQ)
然后也像原来那么用就行了哈
ok了!!!
如果父对象和子对象都存在相同的T,那么这个得到的数组也会包含父对象中的T,这个在很多情况下我们是不要的,那么如何解决这个问题呢?
2:解决方法
相信大家要写肯定都会啦,这里我是写了扩展方法(具体C#扩展方法,找度娘啦)
1:首先创建一个MyExtension类,不继承mono(注意static),然后写了一个方法
然后使用
就可以了,不过GetComponentsInChildren有个重载方法,我在这里小提一下
public T[] GetComponentsInChildren<T>(bool includeInactive);
这个重载,默认是false,includeInactive=true,那么在获取子对象的时候如果T对象是关闭的仍然可以得到,
如果includeInactive=false, 那么就不会获得关闭的T对象
为true的时候
下面我们修改一下自己写的扩展方法(其实没啥修改QAQ)
然后也像原来那么用就行了哈
ok了!!!
相关文章推荐
- 面向组件编程之Unity 3.怎样获取脚本所在物体的各种组件 例如:GetComponentInChildren<T>()/GetComponentsInChildren<U>()
- Unity_ GetComponentsInChildren<T>(Bool includeInactive) 获取自己和它的孩子有同样的组件
- 测试-关于Unity获取子层级内容的几种接口(Transform FindChild, Component GetComponentInChildren,...)
- 我的Unity(15)一点一滴 使用GetComponentsInChildren遇到的问题
- unity getcomponentsinchildren 翻船
- unity GetComponentsInChildren
- GetComponentsInChildren(); 使用方法
- GetComponentsInChildren(); 使用方法(转)
- 【转载】Unity 隱藏3D模型及 GetComponentsInChildren 的使用
- unity之getComponentsInChildren<T>()
- GetComponentsInChildren Not Work In OnDisable[Unity]
- Unity3D——GetComponentsInChildren<T>()方法详解
- GetComponentsInChildren<T>()方法详解
- 关于inputStream.available()与HttpURLConnection.getContentLength()方法获取下载文件的大小
- 利用Uri获取返回的参数即getQueryParameter()方法的使用
- objective-c中对象所有权的内存管理(关于set,get方法),以及如何使用@property来进行简易操作(九)
- 黑马程序员--Java基础加强--14.利用反射操作泛型III【解析关于泛型类型的细节信息的获取方法】【Method与泛型相关的方法】【个人总结】
- 如何利用扩展方法来链式的对MVC 3中的页面进行验证
- 解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the hierarchy”错的方法
- 利用Uri获取返回的参数即getQueryParameter()方法的使用