在unity中获取到某个物体的方式有很多种,下面我们来分别介绍一下。
(1)public GameObject target;通过外部赋值来进行获取,但是在小项目中还可以使用,大的项目会管理非常混乱,尤其是在打包AssetBundle时,依赖关系很难处理。
(2)GameObject.Find("");这种获取物体的方式在unity5.0之后已经被取消了。
(3)GameObject.FindGameObjectWithTag("")通过标签来获取到某个物体,这个是获取到一个物体,相对应的是获取到同一种标签的数组GameObject.FindGameObjectsWithTag("")。
(4)GameObject.FindObjectOfType(typeof("")),通过物体上的组件类型来找到其物体,但这个方法只能找到在场景中第一个active为true的物体。
(5)GameObject.FindObjectsOfType(typeof("")),通过物体上的组件类型来找到其物体,这个方法可以找到在场景中全部为active为true的物体。
(6)Resources.FindObjectsOfTypeAll(""),找到场景中和Project两个中共有几个物体,这个一般不用。
(7)transform.Find(),这个是最常用的。
(8)transform.GetComponentInChildren<>(),这个在查找到的物体中也包括他自身。
转自:http://blog.csdn.net/caojianhua1993/article/details/51602509
Unity 中关于获取到物体的方式
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Unity工程结构: Assets文件夹:存储工程所需的所有资源文件 Library:工程所需要的所有资源库(类库...
- 该系列笔记基于Unity3D 5.x的版本学习,部分API使用和4.x不一致。 目前在Unity3D中,除了新的U...
- 在Unity3D游戏开发过程中,因为受到游戏容量、平台性能和热更新等诸多因素的限制,我们可能无法将所有的游戏场景打...