在学习unity3D的过程中我们经常需要使用代码进行物体的查找,那么该如何查找呢。
对于使用查找我们的前提条件是不能查找被隐藏的物体即active属性为false;
官方提供如下的几种API:
GameObject.Find
Transform.Find
GameObject.FindWithTag
GameObject.FindGameObjectsWithTag
Resources.FindObjectsOfTypeAll
GameObject.Find 可以通过游戏物体的名或者游戏的路径进行查找物体:
此时我们找到了物体Cube并打印物体的标签
无法查找隐藏对象
这里发现当如果物体被隐藏的话就会报错。
2.2 Transform.Find
1.可以查找隐藏对象
2.支持路径查找
3.查找隐藏对象的前提是transform所在的根节点必须可见,即active=true
假如你是这么查找就会一直失败:
你需要将查找的对象放到一个GameObject
你需要将查找的对象放到一个GameObject
即使
即使被隐藏也会被查找到。这里只是改变了Cube的层级其他的与上面的一样。
GameObject.FindWithTag
GameObject.FindGameObjectsWithTag
其实就是通过标签进行查找,其实用的方法与上面大差不差