收藏
回答

小游戏canvas局部重绘异常

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小游戏 Bug Android Android 7.1.2 红米5P 6.6.6

异步函数中使用fillRect、putImageData等api绘制部分内容时,安卓下出现各种异常情况。


demo:

let canvas = wx.createCanvas();
let ctx = canvas.getContext('2d');
 
//全局绘制白色背景
ctx.fillStyle = '#ffffff';
ctx.fillRect(0, 0, canvas.width, canvas.height);
 
//若干延时后,局部重绘红色方块
setTimeout(partialReRender, 1000); //安卓下表现异常:红米5P 全屏变为红色,红米3S 全屏变为红格子与灰条平铺
 
 
function partialReRender() { //局部重绘,安卓下表现异常
  ctx.fillStyle = '#ff0000'
  ctx.fillRect(0, 0, 50, 50)
}
function fullReRender() { //若改为全局重绘,则展示正常
  ctx.fillStyle = '#ffffff'
  ctx.fillRect(0, 0, canvas.width, canvas.height)
 
  ctx.fillStyle = '#ff0000'
  ctx.fillRect(0, 0, 50, 50)
}


代码片段:wechatide://minicode/X7O6ugmp7p7U

回答关注问题邀请回答
收藏
登录 后发表内容