unity 组件添加与访问

unity访问其他游戏对象的四种方式

一、通过属性检查七指定参数进行访问其他游戏对象

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Text : MonoBehaviour {
    public GameObject obj;
    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        obj.transform.Rotate(0, 1, 1);
    }
}

二、通过父子关系的相应函数访问其他游戏对象
当前对象是cylinder,其子对象是cube,该函数实现对其子对象的旋转

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Text : MonoBehaviour {
    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        this.transform.Find("Cube").Rotate(0, 1, 0);
    }
}

通过该函数实现对其父目录下的对象旋转

void Update () {
        this.transform.parent.Rotate(0, 1, 0);
    }

三、通过名字或者标签获取游戏对象
1、通过名字获取游戏对象

void Update () {
        GameObject obj = GameObject.Find("cube");
        obj.transform.Rotate(0, 1, 1);
    }

2、通过游戏对象的标签获取游戏对象

前提必须为要获取的游戏对象加上“cube”标签,不然找不到

void Update () {
        GameObject obj = GameObject.FindWithTag("cube");
        obj.transform.Rotate(0, 1, 1);
    }

这两种获取游戏对象的方式是一样的,如果有多个cube对象只会找到一个,

首先查找子目录下的对象,若无,查找同级目录下的对象,最后查找父级目录下的对象
四、通过组件名称获取游戏对象

获取第一个transform组件,并控制其旋转,查找方式也是先从子目录下查找

void Update () {
        FindObjectOfType<Transform>().Rotate(0, 1, 0);
    }

获取所有的transform组件,通过组件获取游戏对象,并控制游戏对象旋转

更多unity2018的功能介绍请到paws3d爪爪学院查找。链接https://www.paws3d.com/learn/,也可以加入unity学习讨论群935714213

近期更有资深开发人士直播分享unity开发经验,详情请进入官网或加入QQ群了解

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值