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 @   李某龙  阅读(18105)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示