web游戏 Ios必现BUG,图片出现黑边。

creator版本:1.3.1beta.1
问题手机:iphone 6s plus微信, iphone5微信(目前只有这两台测试机,其他没试)
问题描述:有动作的图片和帧动画图片出现黑边,label好像也有

如图: 小鱼有帧动画同时也有move动作,label没有任何动作,是个计时器,每秒改变string,也有黑边,图片黑边比较严重。

重现方法:微信打开游戏,home键返回主页面(有点把微信切换到后台的意思,来电话也算。。。),再次进入微信,并点击右上角菜单,点击刷新按钮

安卓目前没发现这问题,因为我的安卓微信没有刷新按钮。。。(是不是所有安卓微信都没有刷新按钮?)

尝试过的方法:重新把序列帧图片保存(序列帧设计导出的,用ps重新打开在保存一遍);尝试关闭锯齿化,1.3.1beta.1这个方法cc.view.enableAntiAlias(false)报错 can’t read the map of null什么之类的;

有没有人遇到过,或者可以试一下自己的web项目,按照重现过程会不会有这个问题

这种问题有可能的原因是什么,有没有人有思路。

:5:

脏矩形优化问题,
加这段就可以
‘ if (cc._renderType === cc.game.RENDER_TYPE_CANVAS) {
cc.renderer.enableDirtyRegion(false);
}’

我试试,你之前遇到过这个问题吗?

IOS9遇到过

报错说没有这个方法嘞,Uncaught TypeError: cc.renderer.enableDirtyRegion is not a function

不清楚我这里好的

好像应该是cc.renderType === cc.game.RENDER_TYPE_CANVAS,但是我打印渲染模式并不是canvas,怎么改成canvas知道吗?

解决办法:

  1. 关闭脏矩形,
    if(cc._renderType === cc.game.RENDER_TYPE_CANVAS){ cc.renderer.enableDirtyRegion(false); }

  2. 构建完成后强制将渲染模式改为canvas,main.js中var option中增加renderMode: 1。
    var option = { //width: width, //height: height, id: 'GameCanvas', scenes: settings.scenes, renderMode: 1, debugMode: settings.debug ? cc.DebugMode.INFO : cc.DebugMode.ERROR, showFPS: settings.debug, frameRate: 60, jsList: jsList, groupList: settings.groupList, collisionMatrix: settings.collisionMatrix };

参考连接

1赞

解决了 亲!:11:,受教了。