1、首先我们做一个如图所示的演示场景。场景中有一个Cube(标签为Player),它有子对象Sphere5个小正方体对象分别是smallcube/(1)/(2)/(3)/(4),它们标签都是smallcube
2、我们在脚本中新建四个变量。两个GameObject类型分别代表Cube和Sphere对象,一个GameObject数组代表5个小正方体,一个MeshRenderer数组,代表所有游戏物体上的MeshRenderer组件
3、首先,找到cu水瑞侮瑜be有以下方式:1.通过GameObject的静态方法Find(对象名称)找到2.通过G锾攒揉敫ameObject的静态方法FindWithTag(标签名称)找到3.通过sphere(GameObject)对象的transform组件的parent引用到cube的transform组件,再通过transform组件的GameObject引用找到cube.
4、要找到sphere也有很多方法:1.通过Find(对象名称)找到2.通过Find(对象“路径”/对象名称)找到,可以避免重名问题3.通过cube(Ga罪焐芡拂meObject)对象的transform组件的FindChild(子对象名称)方法找到子对象的transform组件,再通过GameObject引用找到sphere.4.通过cube(GameObject)对象的transform组件的GetChild(子对象编号)找到子对象的transform组件,再通过GameObject引用找到sphere.
5、获取多个对象的办法:使用GameObject.FindGameObjectsWithTag(对象标签)
6、获取多个组件的办法:使用GameObject的静漤逗庞俄态方法FindObjectsOfType<组件砘捃坑聒名>()使用特定游戏对象的成员函数GetComponents<组件名>()GetComponentsInChildren<组件名>()GetComponentsInParent<组件名>()
7、最终执行效果如下图所示。