BUG重现步骤:
1、现在我有一个四边形墙体节点,上下左右子节点都添加了 盒碰撞组件(BoxCollider2D)
2、然后我又创建了一个圆球(怪物)节点,添加了 圆形碰撞组件(CircleCollider2D)
3、接着我又创建了一个圆球(子弹)节点,添加了圆形碰撞组件(CircleCollider2D)
4、然后我在项目设置里设置了物理碰撞分组,并都正确给上诉节点设置了group
5、最终我需要实现:
1、子弹和墙体碰撞,开启碰撞回调,【需要】2D刚体物理碰撞效果,实现反弹子弹,所以我把子弹和墙体都加了Rigidbody2D刚体组件
2、怪物和墙体碰撞,开启碰撞回调,【不需要】物理碰撞效果,只通过回调让怪物转向
3、子弹和怪物碰撞,开启碰撞回调,【不需要】物理碰撞效果,只通过回调让怪物扣血,然后子弹消失,所以我就没给怪物加Rigidbody2D刚体组件
可是现在问题来了:
1、怪物和墙体碰撞没任何问题
2、子弹和怪物碰撞大几率出现爆红错误提示:
Uncaught TypeError: Cannot read properties of null (reading ‘enabledContactListener’)
最后解决:需要给怪物也要加2D刚体组件 Rigidbody2D
我就奇怪了,我子弹不需要和怪物发生碰撞效果,我就简单处理回调就行,为什么要加2D刚体组件 Rigidbody2D
然后官方文档也没这个说明,你就不能在代码里加个日志提示么?操蛋