Collider 碰撞器

碰撞偵測是製作遊戲互動的主要方法,預設的情況使用 Unity 建立的物件將會附帶碰撞器,通常遊戲角色碰到擁有碰撞器的物件時,將被擋下而無法前進,透過腳本可以設定物件碰撞時的互動行為。

 

吃金幣遊戲

建立一個新專案,匯入遊戲角色與粒子系統的相關資源。

在遊戲場景加入金幣(使用圓柱體加旋轉腳本製作),玩家移動時會被物件的 Collider 擋住而無法前進。

撰寫腳本並套用到場景中的金幣,左邊的腳本是碰撞時金幣消失,右邊的腳本是碰撞時玩家消失。

若需要讓金幣旋轉的話,可加上 transform.Rotate (0, speed * Time.deltaTime, 0); 或使用動畫工具製作。

目前的問題是任何物件的碰撞都會刪除物件,包括掉落到地面。可以使用標籤判斷是否玩家碰撞。

 

注意!下面的腳本是用於金幣刪除玩家角色!

按下 Play 測試遊戲,確認玩家可以吃掉金幣。

 

回到指定位置

玩家碰到陷阱或掉落出場時回到重生地點,例如場景的原點:

需要時可增加 if 判斷是否為玩家角色。

 

使用 Vector3.zero 是回到原點,但是重生點不一定是原點的位置,為了方便稍後的設定可以透過變數,然後將用於定位重生點的物件拖曳到變數的欄位,只需要調整此物件的位置即可設定重生點。編輯時將更為直覺。