小游戏开发
今天用wx.getMenuButtonBoundingClientRect做排版,在开发工具里选各个机型都很完美,
上真机后就有错位,小米和iPhonexs都有错位,
然后研究了下,将纵向加上sysInfo.statusBarHeight/sysInfo.pixelRatio,然后小米正常了,但iPhonexs还是不行,开发工具里也错位了
wx.getMenuButtonBoundingClientRect的top到底是啥含义,离屏幕上边?离状态栏下边?还是其他?这个函数应该怎么用才能统一呢?
代码片段https://developers.weixin.qq.com/s/EUcK4lmf7h5T
代码如下
let canvas = wx.createCanvas();
let ctx = canvas.getContext('2d')
function loop(){
let menuRect = wx.getMenuButtonBoundingClientRect();
ctx.fillStyle = "black";
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = "white";
ctx.fillRect(menuRect.left, menuRect.top, menuRect.width, menuRect.height);
}
setInterval(loop, 1000 / 60);
开发工具里
真机上 小米5splus
微信小程序开发问题解答
微信小程序开发者回答:
麻烦提供下代码片段以及相关的截图:https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
微信小程序开发者回答:
就是top不对
比如我小米5splus上函数返回top是8,sysInfo里pixelRatio是2.75, 但实际我截屏量了离屏幕上边是46像素,left倒是对的
按理微信能把自己的按钮显示在那,他们自己的api不应该拿不准啊
微信小程序开发者回答:
你贴个图。 微信小程序getMenuButtonBoundingClientRect 我提了个问。 感觉有bug
本文网址:http://www.91bianli.com/weixinxiaochengxu/17897.html