Cocos的碰撞系统设计者堪称天才,我只花了两个小时就找到了问题所在。
碰撞组件中的Collider并不具备物理特性,意思是两个带Collider组件的物体发生碰撞,并不会有任何物理上的反馈,这和刚体没有任何关系,但是,碰撞事件的触发还只能用这几个Collider
下面这几个Collider才具有物理特性,在添加的时候会自动加上RigidBody(这点还行,可圈可点)
综上,如果你想在产生物理效果的同时也分发碰撞函数,就必须把Collider,PhysicsCollider,RigidBody这三个组件全部加上
这还不算完,你需要在代码里开启全局的碰撞系统
cc.director.getCollisionManager().enabled = true;
cc.director.getPhysicsManager().enabled = true;
嗯,考虑得非常全面,生怕初学者不小心开启了碰撞检测,超级贴心,给你个么么哒?