cocos creator踩坑日记

踩坑一

问题:项目在构建成Web Mobile后运行在浏览器和微信中,点击页面任何地方都会导致自动全屏

解决:在构建之后的main.js中,去掉 cc.view.enableAutoFullScreen(true)或者手动改写成cc.view.enableAutoFullScreen(false)

 

 

踩坑二

问题:creator项目在ios浏览器和微信中不会自动播放音频(即使代码中设置了自动播放也是如此)。

解决:iOS的音频,需要有点击事件后才能播放,这个是iOS对广告方面的限制。

     另外,Safari浏览器是不支持ogg格式的音频的。主流浏览器对音频的支持如下:

 http://cdn.cocimg.com/bbs/attachment/Fid_59/59_362141_4a6ca423734639e.png

 

 

踩坑三

问题:精灵使用move to后路径上会留下一些线条

原因:脏矩形出问题了

解决:

Canvas模式下才有脏矩形,使用这个方法之前要判断

if (cc._renderType === cc.game.RENDER_TYPE_CANVAS) {
    cc.renderer.enableDirtyRegion(false);
}

参考帖子:http://forum.cocos.com/t/topic/42656
官方文档:脏矩形优化http://www.cocos.com/docs/creator/advanced-topics/dirty-region.html

踩坑四

问题:节点点透

解决:Creator 中始终吞噬,只要你的上层节点注册了 touch / mouse 事件,下面的节点就接收不到。所以不想点击节点的时候,下层节点会响应,就需要在点击的那个节点添加一个监听事件。

 

踩坑五

问题:当两个至多个节点同时跑同一个动作的时候,总有节点不生效。

场景如下:

http://forum.cocos.com/uploads/default/original/2X/d/d26aa3d600e1a2dd56ce2638ab88fcc91d4caf19.png

脚本如下:

运行效果如下:

解决:方法一,对action取不同的变量名应用到不同的target上;

     方法二,使用官方提供的clone()方法,克隆action应用到不同的target上,例如this.s2.runAction(action.clone())。推荐使用这种方法,毕竟是官方提供的方法。

posted @ 2017-02-09 14:56  李某龙  阅读(17928)  评论(0编辑  收藏  举报