android+Unity3D遊戲開發之簡單的物體運動

來源:互聯網
上載者:User

其實這篇也是轉載的,真的感覺對於我們初學者來說很不錯的,不信你看看嘛;原創連結:http://bbs.9ria.com/thread-98192-1-1.html

 

 

這章我們來瞭解一下Translate的使用


首先我們來看看情境的搭建:建一個立方體,加一個點光源。




我們要實現的就是讓情境中的立方體延X軸嗖嗖的移動


那麼我們在Project建立一個js指令碼Creat->Javascript


鍵入代碼

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

複製代碼

然後將js檔案拖到Hierarchy面板的立方體上實現綁定。


運行一下,我們可以看到,立方體嗖的一聲不見了。它一定是肚子餓了趕去吃飯了。



好了,我們來修改代碼讓它慢一點。

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

複製代碼

運行一下,這會它老實了,慢慢的移動了。


這是怎麼回事呢。接下來我們一步一步的分解代碼。


首先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,那肯定慢了。也就是說,它的作用其實就是減慢移動的速度。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.