我认为品牌是Unity3D 5的新手,我在第一次涉及碰撞检测的2D游戏中遇到了问题。我的移动物体是一个球,有Rigidbody2D和CircleCollider2D。我的静止"对撞机或触发器"是一个BoxCollider并附有一个脚本。当球通过固定盒时,应该触发OnTriggerEnter2D。我也试过OnCollisionEnter2D,但我确信我应该使用OnTriggerEnter2D,因为我的固定盒子被标记为触发器。
我的代码:
{{1}}
正如您所看到的,我正在测试所有变体而没有被调用。以下是我的对象的Unity属性:
和
我确定如果有人能指出我的话,我会遗漏一些简单的事情。
答案 0 :(得分:4)
如果您打算使用OnTriggerEnter2D
,您还必须使用2D对撞机。您目前正在使用BoxCollider
,如第二张屏幕截图所示。
将其更改为BoxCollider2D
,并应调用碰撞回调函数。
答案 1 :(得分:0)
我知道您已经解决了这个问题,但是我遇到了同样的问题并找到了您的帖子。我使用的是正确的2D对撞机,但缺少了Ridgedbody 2D组件。我花了一段时间才找到它,所以我想在这里添加它,以防其他人遇到相同的问题。