Unity3D入门(三):创建对象

来源:互联网 发布:网络协议软件 编辑:程序博客网 时间:2024/04/29 23:02

比如有以下场景,飞机发射子弹,这个子弹就是被创建的对象

C#程序中创建对象

习惯C#的都知道,我们使用一个new就可以创建一个类、结构,称之为对象。

Hero hero=new Hero();


U3D中创建对象

创建对象是要用静态函数

 publicstatic Object Instantiate(Object original,Vector3position,Quaternionrotation);

第一个参数:要创建的对象,第二个参数:要创建的对象的坐标,第三个参数:



-----------------------------------------------------------------------------------------------

实际应用中,子弹是被大量创建的,因此需要将子弹对象创建一个Prefabs(预设、我理解为克隆体、影子),而不用重新创建一个新的子弹对象,节省系统资源

下面展示一个玩家控制的飞机发射子弹的控制代码:

Hero.cs

void Start () { //省略部分代码 }

void Update () {

 //省略部分代码

 CreateRocket();

 }


publicTransform obj_rocket;//子弹已经通过预设创建好了,将其联到主角,从Project视图拖拽绑定到游戏主角脚本

void CreateRocket()

    {

      //创建子弹的时间间隔

           r_shootInterval -=Time.deltaTime;

            if (r_shootInterval<=0)

           {

               r_shootInterval = 0.3f;

 //按下空格键或鼠标左键

               if (Input.GetKey(KeyCode.Space) ||Input.GetMouseButtonDown(0))

               {

                   //子弹是从主角身上发出的,所以借用主角目前的坐标位置

                   Instantiate(obj_rocket,m_transform.position,m_transform.rotation);

               }

            }

    }