1 直接获得对象
直接获得对象的组件
2 查找transform.find
(比较节省性能)
要确保路径正确,否则报错
3 用Gameobject.find
(全局查找,比较损耗性能,不推荐)
4 用tag查找
1 直接获得对象
直接获得对象的组件
2 查找transform.find
(比较节省性能)
要确保路径正确,否则报错
3 用Gameobject.find
(全局查找,比较损耗性能,不推荐)
4 用tag查找
3——GameObject.Find("游戏物体名称");(比较耗费性能,因为它是全局查找)
比如说主摄像机(Main Camera)这个游戏物体。
注意:你查找的时候必须保证这个名字是唯一的,如果不唯一,那么就有可能没有查找到你想要的那个游戏物体
GameObject main camera=GameObject.Find("Main Camera");//得到的是GameObject类型,需要一个新的GameObject类型的变量来接收
4——根据游戏物体标签查找(比较节约性能)
GameObject.FindWithTag("游戏物体标签");
你比如要查找一个标签为Player的游戏物体(获得的是GameObject类型):
GameObject player=GameObject.FindWithTag("Player");
public GameObject cemeraMain;
public Camera mainCamer;
void Start()
{
//print(transform.Find("GameObject(1)/GameObject2"));
//print(transform.Find("GameObject(2)"));
//GameObject mainCameraGo = GameObject.Find("Main Camera");
//print(maincamera):
GameObject Player = GameObject.FindWithTag("Player"):
print(Player);
}
获取GameObject
1.先定义 拖拽 物体或者组件
2.transform.Find("子路径")
3.GameObject.Find("物体名称") 全局查找
4.GameObject.FindWithTag("标签名称") 标签查找
获取游戏物体:
拖拽赋值,要求前后一致
获取游戏物体的子物体:
transform.Find("")
//(“”)内为查找对象的路径格式为:(“游戏物体1/游戏物体2”)
GameObject .Find("xxx");
//("")内为要查找到游戏物体的名称,若有多个重复名的游戏物体则会返回第一个
//根据全局搜索,较耗费性能
根据标签查找:
GameObject.FindWitchTag("xxx");