unity 组件添加与访问

简介: unity访问其他游戏对象的四种方式一、通过属性检查七指定参数进行访问其他游戏对象using System.Collections;using System.Collections.Generic;using UnityEngine;public class Text : MonoBehavi...

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爪爪学院查找。

相关文章
|
4月前
|
编解码 前端开发 人机交互
【Unity 3D】UI系统中UGUI各个组件的详细讲解(附源码 超详细)
【Unity 3D】UI系统中UGUI各个组件的详细讲解(附源码 超详细)
77 0
|
4月前
|
C# 图形学
【Unity 3D】游戏对象、添加删除获取组件、预制体Prefabs简介
【Unity 3D】游戏对象、添加删除获取组件、预制体Prefabs简介
72 0
|
4月前
|
编译器 图形学
Unity用脚本获取物体和组件(下)
Unity用脚本获取物体和组件(下)
|
4月前
|
图形学
Unity 用脚本获取物体和组件(上)
Unity 用脚本获取物体和组件(上)
107 0
|
5月前
|
前端开发 C# 开发工具
Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】
Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】
104 0
|
7月前
|
图形学
|
C# 图形学
Unity通过组件名称字符串添加脚本
通过Type.GetType(string typeName)来得到字符串对应的Type。 Type.GetType(typeName)能获取到自定义类的类型,但是获取Unity的组件不行。 例如Type.GetType(“Rigidbody”)值为null,其实是少了程序集。 string qualifiedName = typeof(Rigidbody).AssemblyQualifiedName; ty 获取Unity的组件程序集全名,再通过Type.GetType()得到的就不为null了。
447 0
Unity通过组件名称字符串添加脚本
|
10月前
|
图形学 索引
【unity每日一记】--transform组件篇
【unity每日一记】--transform组件篇
139 0
|
前端开发 图形学
Unity中影响UI排序的组件
Unity中影响UI排序的组件
|
图形学
Unity组件——光源组件
Unity组件——光源组件
160 1
Unity组件——光源组件