Unity GameObject对象的几个重要方法
来源:互联网 发布:steam好玩的mac游戏 编辑:程序博客网 时间:2024/05/01 07:55
前端开发的认识就是学习对象的API方法。而不是像我们在在最开始学习C#语言一样,大部分都是自己实现的。很好的体现了面向对象的精髓。
在Unity开发中我们使用最多的对象,莫过于GameObject类了。这里简单的写了一些GameObject类中的一些方法案例,也会在后续中慢慢补充。
首先是创建对象:
创建对象有很多的方式Unity主要支持:
1.通过GameObject菜单栏中创建
2.通过代码的创建
3.从资源中拖拉进场景中
克隆游戏对象
克隆游戏对象从效率上讲,克隆一个对象要比创建一个对象效率要高。常用于一些完全相同并且数量庞大的游戏对象,比如发射的子弹对象,每一颗子弹对象是完全一样的,每一次发射子弹都会克隆一个子弹对象,并且让克隆的子弹对象完成自己的生命周期。
获取游戏对象
GameObject.Find 查找static GameObject Find (string name) 找到并返回一个名字为name的游戏物体
GameObject.FindGameObjectsWithTag 查找相同标签的游戏物体列表
GameObject.FindGameObjectWithTag 查找相同标签的游戏物体
删除游戏对象
当不需要游戏对象的时候我们可以删除游戏对象
以下是相关的代码:
using UnityEngine;using System.Collections;public class FindGameObject : MonoBehaviour { Time timer; float f = 3; GameObject cloneGameObject; // Use this for initialization void Start () { //通过名字查找对象 GameObject obj1 = GameObject.Find("Player1"); GameObject obj2 = GameObject.Find("Player2"); print(obj1.name); print(obj2.name); //通过标签查找对象 GameObject cubeObj = GameObject.FindGameObjectWithTag("cube1"); print(cubeObj.name); //克隆一个物体 cloneGameObject = GameObject.Instantiate(cubeObj); //给克隆的物体添加一个名字 cloneGameObject.name = "my_sphere"; //给克隆的物体添加一个名字 cloneGameObject.transform.position = new Vector3(0,0,1); //给克隆的物体材质球跟换一个颜色 cloneGameObject.GetComponent<Renderer>().material.color = new Color(120,146,234); //是否激活一个物体 激活的状态是显示出来的 //可以通过设置true或者false用来隐藏或者显示一个物体 //cloneGameObject.SetActive(true); //通过代码创建一个物体 GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); sphere.transform.position = new Vector3(2,2,2); } // Update is called once per frame void Update () { //3秒后让一个物体消失 f -= Time.deltaTime; if (f < 0) { Destroy(cloneGameObject); } }}
0 0
- Unity GameObject对象的几个重要方法
- 线程对象的几个重要的方法
- Unity动态创建空GameObject的方法
- Unity脚本的生命周期中几个重要的方法
- unity几个重要的文件夹!
- [Unity&对象]如何把大量GameObject 物体 快速的放入 一个 GameObject 数组中
- Unity Manual之GameObject 游戏对象
- GameObject的隐藏子对象获取的方法
- Unity中的各种寻找GameObject方法
- Unity中的各种寻找GameObject方法
- Unity中的各种寻找GameObject方法
- Unity扩展GameObject等类中的方法
- jquery的几个重要的对象关系逻辑
- Unity中GameObject.activeInHierarchy和GameObject.activeSelf的区别
- 面向对象的几个重要概念
- 面向对象的几个重要概念
- 几个重要的ndarray对象属性
- live555 几个重要对象的生命周期
- JDK和JRE的概念与区别
- Group Anagrams
- Mybatis学习之优化MyBatis配置文件中的配置
- 关于时间的概念
- 深刻理解C语言中的*和&、类型转换
- Unity GameObject对象的几个重要方法
- PowerDesigner教程系列(一)概念数据模型
- linux下syscall函数,SYS_gettid,SYS_tgkill
- 解决eclipse中java代码注释变成乱码的问题
- 【bzoj4562】[Haoi2016]食物链
- JAVA --面向对象
- webstorm 2016.2.3、webstorm 2016.2.4 激活破解
- Java动态生成组件
- Objective-C-iOS常用小控件(UIStepper)计数器/步进器