碰撞检测在Unity 2D中不起作用

时间:2013-12-02 17:25:06

标签: c# unity3d

我有两个2D游戏对象。它们每个都有一个Box Collider 2D和一个不是运动学的刚体2D。当游戏进行时,一个人向另一个移动并与之相撞。

但是,我在移动GameObject中也有以下方法:

void OnCollisionEnter(Collision collision) 
{
    print( "Collided with someone" );
}

print语句永远不会打印,因此可能从未调用过该方法。我哪里错了?

1 个答案:

答案 0 :(得分:27)

Unity已经复制了2D的所有物理方法,并将“2D”这个词粘在了最后!因此,对于您的示例,应将其更改为:

void OnCollisionEnter2D(Collision2D collision)

与基本上任何其他2D物理事物相同。