Egret白鹭项目接入微信轻量级的Canvas渲染引擎(支持滚动的开放数据域UI绘制解决方案)

针对微信小游戏开发中遇到的界面缩放显示异常和界面被裁剪的问题,本文提供了详细的解决方案,包括修改platform.js中的代码来调整共享画布的尺寸和比例,确保在不同设备上都能正常显示。

微信官方团队发布了开放数据域UI绘制解决方案,详情请戳这里

使用白鹭项目接入过程中可能会遇到2个坑(使用官方提供的测试用例),下面提供解决办法:

1、界面缩放显示异常
先放正常效果图:
在这里插入图片描述
异常效果图如下
在这里插入图片描述
原因是 sharedCanvas 里面绘制的是内容为960px,和白鹭画布有个转换关系,需要对bitmap进行缩放。
在platform.js 加上这一句解决问题:

bitmap.scaleX = bitmap.scaleY = sharedCanvas.width/960;

2、在部分机型下界面被裁剪(比如iphone5、iphon6 等低分辨率机型)
异常效果图如下
在这里插入图片描述
原因是 sharedCanvas 里面绘制的是内容为960px,而手机真实分辨率低于960,不够面积用于绘制,故要对sharedCanvas尺寸进行修改,设置成960宽。
在platform.js 加上下面代码:

if(sharedCanvas.width < 960){
   
   
	let data = wx.getSystemInfoSync();
	sharedCanvas.width = 960;
	sharedCanvas.height = 960 * data.windowHeight/data.windowWidth;
	sharedCanvas.style.width = sharedCanvas.width 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星星之Coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值