unity获取场景中物体的几种方式

前言

在编辑代码时,需要获取场景中的物体和组件,对于不同的情况有不同的方法

一、代码在物体上

当代码在物体上时,可以直接使用gameObject和transform等方法,获取该物体的组件为:

//使用或者不使用
this.gameObject.GetComponent<"组件名字">();

二、获取子物体或子物体的组件:

获取子物体和子物体可以使用的有下面几种:

// 1,使用GetComponentsInChildren来完成
Transform[] tran = gameObject.GetComponentsInChildren<transform>();

// 2,使用。transform.Find()来完成:
transform.Find("子物体名字") as 组件名;  //只能用于获取子物体组件

// 3,使用GetChild()
transform.GetChild("");

三,查找场景中任何一个物体;

查找场景中的物体的方法:

// 1,使用GameObject.FindWithTag()通过标签来查找物体
GameObject.FindWithTag("物体的标签名");

// 2,使用public来获取
public GameObject demo;

// 3,使用GameObject.Find()来获取
GameObject.Find("物体路径");

总结

获取场景对象的方式多种多样,在实际编写中可以灵活运用。

猜你喜欢

转载自blog.csdn.net/xinzhilinger/article/details/108930999