Unity 实用技巧 之 GetChild快速获取物体子物体。本节介绍使用GetChild函数快速获取对象的子物体的简单案例,具体如下
工具/原料
Unity
GetChild函数
一、知识要点
1、Transform.GetChild:1)功能简述publicTransformGetChild(intindex);index:Index of the child transform to return. Must be smaller than Transform.childCount.Returns Transform :Transform child by index.Returns a transform child by index.2)使用案例using UnityEngine;using System.Collections;public class ExampleClass : MonoBehaviour{ public Transform meeple; public GameObject grandChild; public void Example() { //Assigns the transform of the first child of the Game Object this script is attached to. meeple = this.gameObject.transform.GetChild(0); //Assigns the first child of the first child of the Game Object this script is attached to. grandChild = this.gameObject.transform.GetChild(0).GetChild(0).gameObject; }}
二、实用技巧 之 GetChild快速获取物体子物体
1、打开Unity,新建一个工程,具体如下图
2、在场景中,新建一个“GameObject”,在其下再新建一个“Cube”和“Sphere”,适当调整他们的布局,具体如下图
3、把“GameObject”下的子物体“Sphere”隐藏,具体如下图
4、在工程中,新建一个脚本“GetChildTest”,双击脚本或者右键“Open C# Project”打开脚本,具体如下图
5、在“GetChildTest”脚本上编写代码,首先设置一个变量获取对象,然后在Up蟠校盯昂date函数里按下“A”键,打印第一个子物体的名称,按下“S”键,打印第二个子物体的名称,并显示该物体,具体如下图
6、“GetChildTest”脚本具体内容如下:usingSystem.Collections; usingSystem.潮贾篡绐Collections.Generic;usingUnityEngine;publicclassGetChildTest:MonoBehaviour{publicTransformgo;//Usethisforinitialization voidStart(){ } //Updateiscalledonceperframe voidUpdate(){if(Input.GetKeyDown(KeyCode.A)){print(GetChild(go,0).name); }if(Input.GetKeyDown(KeyCode.S)){GetChild(go,1).gameObject.SetActive(true); print(GetChild(go,1).name); } }privateTransformGetChild(Transformtr,intindex){returntr.GetChild(index); }}
7、脚本编译正确,回到Unity界面,把脚本赋给“GameObject”,并把“GameObject”赋给脚本对应变量,具体如下图
8、运行场景,按下“A”“S”键,控制台console打印信息,并且“Sphere”显示,具体如下图
9、到此,《Unity 实用技巧 之 GetChild快速获取物体子物体》讲解结束,谢谢