挖一个坑,chipmunk和cocos2d-js初体验

基于cocos2d-js和chipmunk,创建了一个简单Scene和一个layer,初始化space,加入一个body、一个shape、一个physicsSprite,然后支持拖拽layer和body。

遇到第一个坑来自于cocos2d-js,它有几种渲染模式,定义在project.json里,默认为0

// "renderMode" sets the renderer type, only useful on web :

// 0 - Automatically chosen by engine

// 1 - Forced to use canvas renderer

// 2 - Forced to use WebGL renderer, but this will be ignored on mobile browsers

其中canvs渲染模式下,physicsSprite::syncPhycisTransform()函数坐标位置转换有bug,导致屏幕上显示的图像和物理节点位置不一致。此问题已经修复如下

图1

第二个坑来自于chipmunk,问题出在pointQueryFirst,这个函数是用来查询触摸点位置是否存在物理节点。这个bug导致我们在模拟器、web上都运行正常,但是在device上出错。目前暂时的解决办法是把第二个参数改为cp.ALL_LAYERS,如下

var shape = _space.pointQueryFirst(_mousePos, cp.ALL_LAYERS, cp.NO_GROUP)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作者:巍然 我对麦子美好而深切的感受来自家乡的一句谚语:“冬天麦盖三层被,来年枕着馒头睡。”隆冬时节,漫天的雪花一...
    北方农村阅读 576评论 0 1
  • 初次体验了做生意的快乐,即使只是微商上销售家乡的小特产,也觉得快乐。每天换着法想宣传,如何能不让人厌烦,又能达到效...
    2双阅读 272评论 0 0