您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 学习培训 > Unity编程 >
    Translate的使用与物体运动
    时间:2015-03-20 09:52 来源:Unity之家 作者:unity.jb51.net 浏览:收藏 挑错 推荐 打印



    首先我们来看看场景的搭建:建一个立方体,加一个点光源。

    我们要实现的就是让场景中的立方体延X轴嗖嗖的移动。

    那么我们在Project新建一个js脚本Creat->Javascript。


    function Update ()
    {
         transform.Translate(Vector3(1,0,0));
    }


    然后将js文件拖到Hierarchy面板的立方体上实现绑定。运行一下,我们可以看到,立方体不见了。修改代码让它慢一点。


    function Update ()     
    {
         transform.Translate(Vector3(1,0,0)*Time.deltaTime);
    }


    运行一下,慢慢的移动了。这是怎么回事呢。接下来我们一步一步的分解代码。首先Update(),一直在用都明白怎么回事。


        transform:场景中的每一个对象都有一个transform,用来储存和控制物体的位置,旋转和缩放。


        Translate:是transform的函数,用来移动物体。它接受一个三维向量(Vector3)参数来移动。其实它还有第二个参数,就是按照自身坐标轴移动还是按照世界坐标轴移动。这里暂且不表。


        Vector3:表示3D的向量和点。3个参数分别代表了向量x,y,z。


        transform.Translate(Vector3(1,0,0));这句代码的意思就是,让被绑定的物体,也就是场景中的立方体,向x轴的方向移动1个单位.


        Time.deltaTime:是一个时间增量,我想应该是这一帧的时间。像flash中的一秒30帧,每帧多少秒之类的。在这个程序中它的值是0.016左右。原本移动一个单位,现在乘以0.016,那肯定慢了。也就是说,它的作用其实就是减慢移动的速度。


    (责任编辑:脚印)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。