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
原创粉丝点击