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

如果该碰撞的节点不碰撞或反过来不该碰的碰撞了,你可以检查一下几个方面:

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

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

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

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

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

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

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

8.如果多个节点至少通过一个关节相连,则默认情况下它们彼此间都不会发生碰撞.除非你设置了对应关节的Collide bodies标志为启用.

上一篇:WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)


下一篇:ASP.Net MVC+Ibaties架构