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标志为启用.
1.对应2个节点的分类和掩码必须匹配.如果它们应该碰撞则一个节点的分类应该在另一个节点的掩码中,反之亦然.
2.注意空的分类和掩码区域表示匹配所有分类和掩码.这可能和你想要的意图完全相反.
3.静态对象之间不能碰撞.比如例子中的Gear1.ccb(齿轮节点)不能相互碰撞.
4.所有节点必须属于相同的父CCPhysicsNode节点(或者相同的祖父或曾祖父,以此类推).
5.尽管你可以在一个场景中添加多个CCPhysicsNode实例,但是它们是完全分开的物理世界.在2个CCPhysicsNode的所有(孩子)实例之间是绝对不可能发生任何关系的.
6.你可以启用物理调试绘制来确认碰撞形状.因为物理节点的碰撞shape不一定可该节点的纹理绘制形状相同.
7.检查节点的物理碰撞形状被正确设置了,其中不能有内部交叉的线段.选择一个节点,切换到期物理标签,然后看是否有任何线段是红色高亮显示的.
8.如果多个节点至少通过一个关节相连,则默认情况下它们彼此间都不会发生碰撞.除非你设置了对应关节的Collide bodies标志为启用.
相关文章推荐
- Cocos2D物理碰撞不按预期工作的排查工作
- Cocos2D场景中对象引用为nil时的判断
- Cocos2D场景中对象引用为nil时的判断
- Cocos2D场景中对象引用为nil时的判断
- Cocos2D中相关问题提问的几个论坛
- Cocos2D中相关问题提问的几个论坛
- Cocos2D中相关问题提问的几个论坛
- Cocos2D遍历场景图(Scene Graph)
- Cocos2D遍历场景图(Scene Graph)
- Cocos2D遍历场景图(Scene Graph)
- 模仿cocos2dx的3d引擎c3dEngine(开源)
- 使用Cocos2d-x 开发3D游戏
- Cocos2d-x 的3D开发功能介绍
- Cocos2d-x Developer Blog
- cocos2dx lua项目学习一 创建lua项目
- cocos2dx 3.8 安装环境配置搭建
- Cocos2d-x示例:单点触摸事件
- cocos2d 简单的日常高仿酷跑游戏
- Cocos2d-x 3.8中怎么创建九宫格精灵
- Cocos2dx-- 资源热更新