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().Rotate(0, 1, 0);
}
获取所有的transform组件,通过组件获取游戏对象,并控制游戏对象旋转
更多unity2018的功能介绍请到paws3d爪爪学院查找。