代码查找游戏物体方法
1.gamObject.Find(): 根据名称找到游戏对象并返回。
Eg:Gameobject a=gamobject.Find(“bullet”); //bullet为物体名
(1) 无法查找禁用的物体
(2) 尽量保证名字是唯一的
2.FindGameobjectwithtag()根据标签查找游戏对象并返回
Eg:Gameobjecta=FindGameobjectwithtag(“bullet”);//bullet为物体标签
(1) 无法查找禁用的物体
(2) 尽量保证名字是唯一的
(3) 未使用过的标签,会报空值,未定义标签,会报错
3. GameObject.FindObjectOfType<>()根据组件查找并返回
Eg:Cameraa=GameObject.FindObjectOfType<>(Camera);//Camera为组件
(1)无法查找禁用的物体
(2)不存在的组件会报空值
4. Transform.Find()查找挂载物体子级物体
Eg:Tramsform a=tramsform.Find(“a”);//a为该脚本物体下子物体
Tramsform a=tramsform.Find(“a/b”);//b为a子物体
(1)只对子集有用
(2)可用于未激活物体
(3)多重子物体时需写全路径
5. 5.transform.GetChild()查找挂载物体子级物体
Eg 脚本所挂物体 : a
a的一级子物体 :b1,b2
b1的子物体:c1,c2 b2的子物体:c3
Tramsform b1=transform.GetChild(0)
Tramsform c1=transform.GetChild(0).Getchild(0)
Tramsform c2=transform.GetChild(0).Getchild(1)
Tramsform c3=transform.GetChild(1).Getchild(0)
获取当前物体的父物体transform.parent
获取当前物体的根物体transform.root
(1) 索引从0开始
(2) 依赖于层级关系,层级关系需稳定