您的位置:首页 > 移动开发 > Cocos引擎

Cocos2D物理碰撞不按预期工作的排查工作

2015-10-13 07:42 260 查看
如果该碰撞的节点不碰撞或反过来不该碰的碰撞了,你可以检查一下几个方面:

1.对应2个节点的分类和掩码必须匹配.如果它们应该碰撞则一个节点的分类应该在另一个节点的掩码中,反之亦然.

2.注意空的分类和掩码区域表示匹配所有分类和掩码.这可能和你想要的意图完全相反.

3.静态对象之间不能碰撞.比如例子中的Gear1.ccb(齿轮节点)不能相互碰撞.

4.所有节点必须属于相同的父CCPhysicsNode节点(或者相同的祖父或曾祖父,以此类推).

5.尽管你可以在一个场景中添加多个CCPhysicsNode实例,但是它们是完全分开的物理世界.在2个CCPhysicsNode的所有(孩子)实例之间是绝对不可能发生任何关系的.

6.你可以启用物理调试绘制来确认碰撞形状.因为物理节点的碰撞shape不一定可该节点的纹理绘制形状相同.

7.检查节点的物理碰撞形状被正确设置了,其中不能有内部交叉的线段.选择一个节点,切换到期物理标签,然后看是否有任何线段是红色高亮显示的.

8.如果多个节点至少通过一个关节相连,则默认情况下它们彼此间都不会发生碰撞.除非你设置了对应关节的Collide bodies标志为启用.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: