Unity 2017 GetComponent 详解

MyComponment myCom=gameObject.GetComponent<MyComponment>();  
//GetCompoment <T>()从当前游戏对象获取组件T,只在当前游戏对象中获取,没得到的就返回null,不会去子物体中去寻找。
  
MyComponment childCom=gameObject.GetComponentInChildren<MyComponment>();  
//GetCompomentInChildren<T>()先从本对象中找,有就返回,没就子物体中找,知道找完为止。
  
MyComponment[] comS=gameObject.GetComponents<MyComponment>();  
//GetComponents<T>()获取本游戏对象的所有T组件,不会去子物体中找。

MyComponment[] comS1=gameObject.GetComponentsInChildren<MyComponment>();    
MyComponment[] comSTrue=gameObject.GetComponentsInChildren<MyComponment>(true); 
//GetComponentsInChildren<T>()=GetComponentsInChildren<T>(true)取本游戏对象及子物体的所有组件 
  
MyComponment[] comSFalse=gameObject.GetComponentsInChildren<MyComponment>(false); 
//GetComponentsInChildren<T>(false)取本游戏对象及子物体的所有组件 除开非活跃的游戏对象,不是该组件是否活跃。

例如:获取另一个脚本中的变量

moveCube = GetComponent<MoveCube> ();  
Debug.Log ("GetComponent<MoveCube> () debug "+moveCube.speed); 

经过测试用GetComponent()获取Transform组件,比预先保存其引用后再调用要慢得多,建议少用。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文地址 http://www.fx114.net/qa-75-172454.aspx 使用Profiler工具...
    IongX阅读 11,300评论 1 11
  • 111. [动画系统]如何将其他类型的动画转换成关键帧动画? 动画->点缓存->关键帧 112. [动画]Unit...
    胤醚貔貅阅读 14,553评论 3 88
  • 创建并运行脚本: unity 使用 C# 和 JavaScript 作为脚本语言,在创建一个脚本时会自动创建 St...
    Baqun阅读 8,423评论 0 5
  • 今天一大早就去上班,去上班的路上就顺便去把货取起,然后就去公司开会,开完会后就把货送去水韵天毅客户家安装,然后就把...
    邓承友阅读 1,414评论 0 0
  • 一叶渔船两小童,三钩四篓放船中。 五花六叶七莲藕,八九十条小鱼游。
    泛夜孤舟阅读 1,391评论 0 0

友情链接更多精彩内容