Unity 脚本访问到游戏物体和组件的多种方式

2025-11-02 14:45:27

1、首先我们做一个如图所示的演示场景。场景中有

一个Cube(标签为Player),它有子对象Sphere

5个小正方体对象分别是smallcube/(1)/(2)/(3)/(4), 它们标签都是smallcube

Unity 脚本访问到游戏物体和组件的多种方式

2、我们在脚本中新建四个变量。

两个GameObject类型分别代表Cube和Sphere对象,

一个GameObject数组代表5个小正方体,

一个MeshRenderer数组,代表所有游戏物体上的MeshRenderer组件

Unity 脚本访问到游戏物体和组件的多种方式

3、首先,找到cube有以下方式:

1.通过GameObject的静态方法Find(对象名称)找到

2.通过GameObject的静态方法FindWithTag(标签名称)找到

3.通过sphere(GameObject)对象的transform组件的parent引用到cube的transform组件,再通过transform组件的GameObject引用找到cube.

Unity 脚本访问到游戏物体和组件的多种方式

4、要找到sphere也有很多方法:

1.通过Find(对象名称)找到

2.通过Find(对象“路径”/对象名称)找到,可以避免重名问题

3.通过cube(GameObject)对象的transform组件的FindChild(子对象名称)方法找到子对象的transform组件,再通过GameObject引用找到sphere.

4.通过cube(GameObject)对象的transform组件的GetChild(子对象编号)找到子对象的transform组件,再通过GameObject引用找到sphere.

Unity 脚本访问到游戏物体和组件的多种方式

5、获取多个对象的办法:

使用GameObject.FindGameObjectsWithTag(对象标签)

Unity 脚本访问到游戏物体和组件的多种方式

6、获取多个组件的办法:

使用GameObject的静态方法FindObjectsOfType<组件名>()

使用特定游戏对象的成员函数

GetComponents<组件名>()

GetComponentsInChildren<组件名>()

GetComponentsInParent<组件名>()

Unity 脚本访问到游戏物体和组件的多种方式

7、最终执行效果如下图所示。

Unity 脚本访问到游戏物体和组件的多种方式

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢