2014-12-07 48 views
-1

我正在使用2D Unity遊戲,並且我有名爲'make'的對象和另一個名爲'tree'的對象。2DCollider檢測錯誤

我想檢測是否「使」與「樹」碰撞,這是我到目前爲止已經試過:

void OnTriggerEnter2D(Collider2D other) 
{ 
    Debug.Log("Collided"); 
} 

而且我已經試過的,非2D版本太多,事件仍不會觸發。

if (transform.renderer.bounds.Intersects(GameObject.Find("tree").transform.renderer.bounds) 
    { 
     Debug.Log("Collided"); 
    } 

我在只有'make'的Movement腳本的Update()方法中包含了這個。再一次,沒有成功。

是否有解決方案不涉及重力(RigidBody等),而是BoxCollider2D?

回答

1

確保你對撞機有IsTrigger檢查,並確保至少有一個連有一個RigidBody2D。如果您不想要重力,請取消選中在您的RigidBody上使用重力。

+0

乾杯! +1爲簡單和工作的解決方案。 – TuukkaX 2014-12-08 14:50:21

1

該圖告訴你什麼與Unity3D中的內容相沖突。

enter image description here

在你的情況下,代碼應該是這樣的例子:

public class ExampleClass : MonoBehaviour 
{ 
    void OnTriggerEnter2D(Collider2D other) 
    { 
     Debug.Log("Collided"); 
    } 
}