访问游戏对象组件
通过获取组件修改
using UnityEnine;
using System.Collections;
public class Myclass:MonoBehaviour{
void Update(){
transform.Translate(1, 0, 0);
//通过GetComponent<X>()获取当前游戏对象上的X组件
GetComponent<Transform>().Translate(1, 0, 0);
}}
通过获取组件修改(脚本Script组件)
using UnityEnine;
using System.Collections;
public class Myclass:MonoBehaviour{
void Update(){
//通过GetComponent<X>()获取当前游戏对象上的X脚本组件
HelloWorld hw = GetComponent<HelloWorld>();
hw.sayHello();//调用该脚本上的sayHello()函数
}}
由父组件获取子组件
using UnityEnine;
using System.Collections;
public class Myclass:MonoBehaviour{
void Update(){
//通过获取Transform组件来找到名为"hand"的子对象
transform.Find("hand").Translate(0, 0, 1);
}}
由子组件获取父组件
using UnityEnine;
using System.Collections;
public class Myclass:MonoBehaviour{
void Update(){
//通过获取Transform组件来找到父对象
transform.parent.Translate(0, 0, 1);
}}
由游戏对象名称(标签)获取
//**当tag包含多个对象时,会获取到最后读取的那个对象**
using UnityEnine;
using System.Collections;
public class Myclass:MonoBehaviour{
void Start(){
//获取名称为"gamename"的游戏对象
GameObject name = GameObject.Find("gamename");
name.transform.Translate(0, 0, 1);
//获取标签为"gametag"的游戏对象
GameObject tag = GameObject.FindWithTag("gametag");
teg.GetComponent<Test>().doSomething();
}}