踩坑一
问题:项目在构建成Web Mobile后运行在浏览器和微信中,点击页面任何地方都会导致自动全屏
解决:在构建之后的main.js中,去掉 cc.view.enableAutoFullScreen(true)或者手动改写成cc.view.enableAutoFullScreen(false)
踩坑二
问题:creator项目在ios浏览器和微信中不会自动播放音频(即使代码中设置了自动播放也是如此)。
解决:iOS的音频,需要有点击事件后才能播放,这个是iOS对广告方面的限制。
另外,Safari浏览器是不支持ogg格式的音频的。主流浏览器对音频的支持如下:
踩坑三
问题:精灵使用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 事件,下面的节点就接收不到。所以不想点击节点的时候,下层节点会响应,就需要在点击的那个节点添加一个监听事件。
踩坑五
问题:当两个至多个节点同时跑同一个动作的时候,总有节点不生效。
场景如下:
脚本如下:
运行效果如下:
第一个节点不生效,第二个节点生效
原因:在cocos中,每个动作action只能有一个靶子target,同一个action不能同时应用到多个target上
解决:方法一,对action取不同的变量名应用到不同的target上;
方法二,使用官方提供的clone()方法,克隆action应用到不同的target上,例如this.s2.runAction(action.clone())。推荐使用这种方法,毕竟是官方提供的方法。