在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
网友评论