小游戏 设置为横屏 在iphone 上 canvas 绘制不出来
发布于 5 年前 作者 xiuying46 6899 次浏览 来自 问答

当前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)

3 回复

麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

屏幕发生旋转的时候会清空画布,需要再画一次,或者在 requestAnimationFrame 回调每次去画。

我在魔方游戏3D里面也遇到了这个问题,困扰了好久,其实要解决起来也很简单,主要是IOS设置横屏后刚开始也是竖屏的,导致canvas在适配器里面已经创建成了竖屏的,横过来的时候属性没有对应的变化。感觉这个应该是微信客户端的BUG。所以需要在游戏中重新设置canvas的宽和高。可在IOS上体验:魔方游戏3D

回到顶部