2DCollider检测错误

时间:2014-12-07 18:41:23

标签: c# unity3d

我正在使用2D Unity游戏,我的对象名为' make'另一个名为' tree'。

的对象

我试图检测是否“制造”'与树“碰撞”这是我到目前为止所尝试的:

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

我也尝试了非2D版本,事件仍然没有发生。

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

我将其包含在Movement脚本的Update()方法中,该脚本只包含' make'具有。再一次,没有成功。

是否有解决方案不涉及Gravity(RigidBody等),而是BoxCollider2D?

2 个答案:

答案 0 :(得分:1)

此图表显示与Unity3D中的内容发生冲突。

enter image description here

在你的情况下,代码应该像这个例子:

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

答案 1 :(得分:1)

确保你的对撞机已经选中了IsTrigger,并确保至少有一个RigidBody2D连接到它。如果您不想要重力,请取消选中RigidBody上的使用重力。