- 横屏时,wx.getSystemInfo 安全区域和宽高值 不一致;
https://developers.weixin.qq.com/minigame/dev/api/base/system/system-info/wx.getSystemInfo.html (这是我们预期的情况)华为Mate30手机: 刘海屏在 左边 的 横屏:res.safeArea = {left: 刘海屏高度, top: 0, ..., width: right - left, height: bottom - top} 刘海屏在 右边 的 横屏:res.safeArea = {left: 0, top: 0, right: 手机宽度 - 刘海屏高度, ..., width: right - left, height: bottom - top} 小米9 手机:top不管如何都是0,但是width和height是适应了的; 刘海屏在 左边 的 横屏:res.safeArea = {left: 0, top: 刘海屏高度, ..., width: bottom - top, height: right - left} 刘海屏在 右边 的 横屏:res.safeArea = {left: 0, top: 刘海屏高度, ..., width: bottom - top, height: right - left} iPhoneX:top不管如何都是0,而且width和height都和竖屏结果一样; 刘海屏在 左边 的 横屏:res.safeArea = {left: 0, top: 刘海屏高度, ..., width: right - left, height: bottom - top} 刘海屏在 右边 的 横屏:res.safeArea = {left: 0, top: 刘海屏高度, ... width: right - left, height: bottom - top}
2020-10-12 - wx.onDeviceOrientation 注册回调 在 Android 中 没有调用
https://developers.weixin.qq.com/minigame/dev/api/device/orientation/wx.onDeviceOrientationChange.html
2020-10-12 - 请问iOS系统的小游戏有没有VAO扩展。
请问iOS的小游戏环境的webgl,支不支持VAO扩展(Vertex Array Object) 我在iphone8,iOS12的小游戏环境下,用 gl.getExtension("OES_vertex_array_object")返回null; 但是在同样的环境下的webview下的canvas,是支持:VAO扩展的,下面是截图。 [图片]
2019-06-19 - 华为Android必现:离屏webgl 渲染到 2D canvas的黑屏问题
- 当前 Bug 的表现(可附上截图) 注:目前只有华为的手机和平板会有这个问题。其他手机:Android,iOS都正常表现。 用离屏的webgl canvas渲染到上屏的canvas 2D环境,只有在华为的android手机上,看不到webgl的内容。 下图中,彩色的三角形和四边形,就是用webgl渲染的;但是看不到; [图片] - 预期表现 [图片] - 复现路径 https://developers.weixin.qq.com/s/L4gO2NmP7d6B - 提供一个最简复现 Demo https://developers.weixin.qq.com/s/L4gO2NmP7d6B 重点代码在最后几行。 [代码]function[代码] [代码]tick() {[代码][代码] [代码][代码]requestAnimationFrame(tick);[代码][代码] [代码][代码]drawScene();[代码][代码] [代码][代码]animate();[代码] [代码] [代码] [代码] // 将3D纹理拷贝到2D纹理上。[代码] [代码] contextMain[代码][代码].clearRect(0 ,0, canvasMain.width, canvasMain.height);[代码][代码][代码] contextMain[代码].drawImage(canvas3D, 0, 0);[代码][代码] [代码][代码][代码]contextMain[代码].fillStyle = [代码][代码]"#FFFFFF"[代码][代码] [代码][代码][代码]contextMain[代码].fillRect(0, 0, 100, 100);[代码][代码]}[代码] let contextMain = undefined; [代码]let canvasMain = undefined;[代码][代码]let canvas3D = undefined;[代码] [代码]function[代码] [代码]webGLStart(canvas) {[代码] [代码] [代码][代码]canvasMain = canvas;[代码] [代码] contextMain= [代码]canvasMain.getContext([代码][代码]'2d'[代码][代码]);[代码][代码] [代码][代码] [代码][代码] [代码][代码] // 创建离屏webgl环境[代码][代码] [代码] [代码][代码]canvas3D = wx.createCanvas();[代码][代码] [代码][代码]canvas3D.width = canvasMain.width;[代码][代码] [代码][代码]canvas3D.height = canvasMain.height[代码] [代码] [代码][代码]initGL(canvas3D);[代码][代码] [代码][代码]initShaders();[代码][代码] [代码][代码]initBuffers();[代码] [代码] [代码][代码]gl.clearColor(0.0, 0.0, 0.0, 1.0);[代码][代码] [代码][代码]gl.enable(gl.DEPTH_TEST);[代码] [代码] [代码][代码]tick();[代码][代码]}[代码] [代码]GameGlobal.alert = (...msg) => console.log([代码][代码]"alert"[代码][代码], ...msg);[代码] [代码]webGLStart(wx.createCanvas());[代码]
2019-03-11