unity3d访问游戏对象组件

访问游戏对象组件

通过获取组件修改

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();
    }}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值