我有一個附加了對撞機的空物件,它跟隨滑鼠。“是觸發器”框未選中,僅此而已。
現在,在我的另一個物件上,我還添加了一個對撞機(當然是 2d)并將其設定為“is trigger”=true,但我也嘗試了未選中該框。
輸入觸發器“區域”時應執行以下代碼:
public void OnTriggerEnter2D(Collider2D collider)
{
print("found coin");
manager.AddCoin();
Destroy(gameObject);
}
但事實并非如此。我該如何解決?
uj5u.com熱心網友回復:
聽起來你需要一個 RigidBody2D 附加到你的第一個游戲物件(你正在移動的那個)。要檢測碰撞,至少一個物件必須具有此組件(在Docs中獲取更多資訊)
uj5u.com熱心網友回復:
我認為您需要一個物件附加一個 Rigidbody2D,以便物理引擎真正參與并檢測碰撞(甚至是觸發器)。
該檔案似乎暗示:
https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerEnter2D.html
“注意:僅當其中一個 Collider 還附加了 Rigidbody2D 時才會發送觸發事件。觸發事件將發送到禁用的 MonoBehaviours,以允許啟用回應碰撞的行為。”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/519994.html
標籤:C#unity3d
下一篇:我不能用c#寫json檔案