Cocos2D物理碰撞不按预期工作的排查工作
2015-10-13 07:42
253 查看
如果该碰撞的节点不碰撞或反过来不该碰的碰撞了,你可以检查一下几个方面:
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标志为启用.
相关文章推荐
- Linux 自检和 SystemTap
- Python 七步捉虫法
- 路由器的配置与调试
- 对于技术人员的出现了运行时间错误,是否要进行调试的解决方法
- 可以用来调试JavaScript错误的解决方案
- 如何调试异步加载页面里包含的js文件
- jQuery下的Ajax调试步骤
- 调试一段PHP程序时遇到的三个问题
- JavaScript高级程序设计 错误处理与调试学习笔记
- Javascript调试脚本的经验之谈第1/2页
- 在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
- Android App调试内存泄露之Cursor篇
- Lua的编译、执行和调试技术介绍
- 10个调试和排错的小建议
- 调试PHP程序的多种方法介绍
- PHP调试函数和日志记录函数分享
- JavaScript 错误处理与调试经验总结
- 解析使用ThinkPHP应该掌握的调试手段
- 浅谈javascript的调试
- js调试系列 初识控制台