我有两个2D游戏对象。它们每个都有一个Box Collider 2D和一个不是运动学的刚体2D。当游戏进行时,一个人向另一个移动并与之相撞。
但是,我在移动GameObject中也有以下方法:
void OnCollisionEnter(Collision collision)
{
print( "Collided with someone" );
}
print语句永远不会打印,因此可能从未调用过该方法。我哪里错了?
答案 0 :(得分:27)
Unity已经复制了2D的所有物理方法,并将“2D”这个词粘在了最后!因此,对于您的示例,应将其更改为:
void OnCollisionEnter2D(Collision2D collision)
与基本上任何其他2D物理事物相同。