Unity2D C# 人物碰撞吃金幣實作

我們這次要實作的是「玩家操控人物,碰撞到金幣後使金幣消失」的功能,其中人物與金幣之間將使用碰撞器 (Collider) 來進行。

首先,假設我們的工作區內已經放置好預先準備的人物與金幣,現在要來為人物與金幣加入碰撞器功能。

我們直接使用內建的 Circle Collider 2D 來實作,請為人物與金幣加入這個圓形碰撞器。

再來,我們為了要讓「碰撞後金幣消失」這功能能夠正常判斷,必須為「金幣」新增一個標籤 (Tag)。
先點選金幣後,屬性框內會有一個 Tag 的下拉式選單。我們點選 Add Tag 來新增一個標籤。

點選 Add Tag 後會出現個畫面,請點一下旁邊的 + 新增一個標籤叫做「Coin」。

新增好後要記得回去金幣的屬性框內再選取一次上面新增的 Coin Tag。

都設定好後,在人物物件下新增一個 C# Script,請在 public class Player : MonoBehaviour 內加入以下程式碼。

void OnCollisionEnter2D(Collision2D col)
{
	if (col.gameObject.tag == "Coin")
	{
		Destroy(col.gameObject);
	}
}

之後當人物碰撞到金幣後,金幣就會自動消失無蹤了!