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组件,并控制其旋转,查找方式也是先从子目录下查找

扫描二维码关注公众号,回复: 5694614 查看本文章
void Update () {
        FindObjectOfType<Transform>().Rotate(0, 1, 0);
    }

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

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

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

猜你喜欢

转载自blog.csdn.net/qq_35037137/article/details/88869806
今日推荐