Unity 脚本访问到游戏物体和组件的多种方式
1、首先我们做一个如图所示的演示场景。场景中有
一个Cube(标签为Player),它有子对象Sphere
5个小正方体对象分别是smallcube/(1)/(2)/(3)/(4), 它们标签都是smallcube

2、我们在脚本中新建四个变量。
两个GameObject类型分别代表Cube和Sphere对象,
一个GameObject数组代表5个小正方体,
一个MeshRenderer数组,代表所有游戏物体上的MeshRenderer组件

3、首先,找到cube有以下方式:
1.通过GameObject的静态方法Find(对象名称)找到
2.通过GameObject的静态方法FindWithTag(标签名称)找到
3.通过sphere(GameObject)对象的transform组件的parent引用到cube的transform组件,再通过transform组件的GameObject引用找到cube.

4、要找到sphere也有很多方法:
1.通过Find(对象名称)找到
2.通过Find(对象“路径”/对象名称)找到,可以避免重名问题
3.通过cube(GameObject)对象的transform组件的FindChild(子对象名称)方法找到子对象的transform组件,再通过GameObject引用找到sphere.
4.通过cube(GameObject)对象的transform组件的GetChild(子对象编号)找到子对象的transform组件,再通过GameObject引用找到sphere.

5、获取多个对象的办法:
使用GameObject.FindGameObjectsWithTag(对象标签)

6、获取多个组件的办法:
使用GameObject的静态方法FindObjectsOfType<组件名>()
使用特定游戏对象的成员函数
GetComponents<组件名>()
GetComponentsInChildren<组件名>()
GetComponentsInParent<组件名>()

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