当前bug 在IOS下黑屏 Andorid 上正常
- 当前 Bug 的表现(可附上截图)
小游戏设置为横屏 页面为黑屏
如果设置回竖屏 又可以了 说明代码没问题 因为也没有报错
- 预期表现
- 复现路径
小游戏就一个页面吧
- 提供一个最简复现 Demo
game.json
"deviceOrientation": "landscape",
设置为横屏
在game.js 在IOS下面是绘制不出来的 安卓下可以
var canvas = wx.createCanvas()
var context = canvas.getContext('2d')
context.fillStyle = 'red'
context.fillRect(0, 0, 100, 100)
屏幕发生旋转的时候会清空画布,需要再画一次,或者在 requestAnimationFrame 回调每次去画。
好吧,那这也该算是个BUG了吧。
@官方请问横屏的时候有事件吗?
https://developers.weixin.qq.com/minigame/dev/document/device/orientation/wx.onDeviceOrientationChange.html
横屏事件后,为啥canvas的宽高不会变呢? 有没有更多关于横屏适配更多资料可以看一下的?
@link 官方 具体怎么重绘的 能不能给一些相关的代码资料
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
wechatide://minicode/ID1GGbm77L2X 这是代码片段链接
你好,提供的代码片段不可用,麻烦重新确认下,谢谢
我试着用另一台电脑 的微信开发者工具 打开, 确实是可以的啊
其实随便用canvas 画一下,就可以复现的。
复现的场景是 Iphone 手机扫开发版二维码(手机上扫码才能复现)
var canvas = wx.createCanvas()
var context = canvas.getContext('2d')
context.fillStyle = 'red'
context.fillRect(0, 0, 100, 100)
对了,还要设置为横屏。 竖屏是可以绘制出效果的。
我在魔方游戏3D里面也遇到了这个问题,困扰了好久,其实要解决起来也很简单,主要是IOS设置横屏后刚开始也是竖屏的,导致canvas在适配器里面已经创建成了竖屏的,横过来的时候属性没有对应的变化。感觉这个应该是微信客户端的BUG。所以需要在游戏中重新设置canvas的宽和高。可在IOS上体验:魔方游戏3D