Skip to content
本周二到建國科大教學Unity3D,介紹了基本操作還有熟悉介面,最後做出子彈發射的應用,其實原理很簡單,就是讓物件每秒能從A點移動到B點,要做到子彈發射的效果,一、複製;二、移動;三、消失,以下簡單步驟講解:
一、複製:子彈發射的效果是按一下按鍵便發射一顆子彈,透過「Instantiate()」這個指令,可在每按一下按鍵便複製一個物件。
二、移動:物件移動指令為「transform.Translate(x,y,z)」。
三、消失:Destroy(gameObject,秒數),此指令為摧毀物件,因為複製品存在場景上會降低執行速度,故用此指令。
STEP1 建立空物件及圓形球體:我們要把空物件當成發射點,圓形球體當成子彈。
STEP2 重新命名並建立prefab:將空物件命名為Fire,球體命名為Bullet,拖曳球體至底下的Asset區變成prefab(預製品)後,刪除本體。建立prefab的好處後面會解釋。
STEP3 建立二個JavaScript:在Asset區按滑鼠右鍵,建立二個腳本(JavaScript),分別命名為Fire、Bullet後,點二下進入程式編寫畫面。
STEP4編寫程式:
Fire程式碼
Bullet程式碼
在Bullet的程式碼中有Destroy(摧毀)指令,簡單來說它會摧毀物件,預製品不存在於場景上,複製出來的克隆物(clone)被摧毀後,預製品本身不會被摧毀,這是預製品的好處。
STEP5 放入腳本:將腳本Fire放入空物件Fire;腳本Bullet放入預製品Bullet中,在預製品Bullet中的腳本speed變數記得設定數值,Fire物件裡的腳本Bullet變數記得放入預製品。
最後執行程式即可看到效果。子彈可以再加入其它的效果,例如逐漸變小、貼上發光材質…等。
附上打包好的unity檔點此下載,簡單易學好上手喔!!
Post Views: 505