Unity五 Transform 一

Transform 获取的几种方式

一、先获取 GameObject 在场景中,然后再获取 transform

1、GameObject a = GameObject.Find()—>a.transform
2、GameObject b = GameObject.Find()—>b.GetComponent()

二、直接挂载在相应的对象上

当脚本直接挂载在相应的对象上时,可以直接拿到 GameObject,无需再用 Find 方法。有三种方式可以拿到。
1、小写的 gameObject,例如 gameObject.transform
2、this,例如 this.transform
3、什么都不写,例如 transform,对你没看错,直接写 transform 就可以拿到 。这个算是 Unity 给出的语法糖。

   Transform a = gameObject.transform;
        Transform b = this.transform;
        Transform c = transform;

Transform 获取子父对象

1、获取子对象可以通过 GetChild(int index) 获取,参数为 int 型,第几个子对象。返回的是一个 Transform
2、获取父对象可以通过属性 parent 获取
下面是我写的一个例子

	void Start ()
    {
         GetCountAndChild();
        //ParentMethod();
    }

    private void ParentMethod()
    {
        Transform a = transform.parent.parent;
        print("父对象:" + a.name);
    }

    private void GetCountAndChild()
    {
        int a = transform.childCount;
        print("子对象的总数量::" + a);
        print("父对象的 Id::" + transform.GetInstanceID());
        for (int i = 0; i < a; i++)
        {
            print("子对象的名字" + transform.GetChild(i).name);
            print("子对象的位置:" + transform.GetChild(i).position);
            print("子对象的 id:" + transform.GetChild(i).GetInstanceID());
        }
    }

对应例子的游戏截图,脚本挂在了 Sphere 上,如果要测试父对象,需要把脚本挂在子对象上测试。
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小~小

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值