unity中提供了获取对象的五种方法:
Find方法:
static GameObject Find (string name)
传入的name可以是单个的对象的名字,也可以是hierarchy中的一个路径名,如果找到会返回该对象(活动的),如果找不到就返回null。
结果如上,可见不论参数是对象名字还是对象的路径,只要对象存在都会查找到,但是建议最好是写详细的路径名例如CubeFather/CubeSon,这样的话,在unity查找的过程中会省很多事,效率高;另外不要在每一帧都执行的函数中调用该函数,可以看上图结果中会执行好多次,用到某个对象时可以在Start这种只执行一次的函数中定义变量获取Find的返回值,再在每帧都执行的函数中使用该变量即可~ FindWithTag方法:
static GameObject FindWithTag (string tag)
返回一个用tag做标识的活动的对象,如果没有找到则为null。
FindGameObjectsWithTag方法:
static
GameObject[] FindGameObjectsWithTag (string
tag)
返回一个用tag做标识的活动的游戏物体的列表,如果没有找到则为null。具体代码略过~
FindObjectOfType方法: static Object FindObjectOfType(Type type)
返回类型为type的活动的第一个游戏对象
FindObjectsOfType方法:
static Object FindObjectsOfType(Type type)
返回类型为type的所有的活动的游戏对象列表
注意:一定保证对象是active的才会找到
为了效率高,一定要保证别在每帧都调用的函数中使用上述函数
|
|