收藏
回答

ios设备上,横屏时离屏canvas的宽高有BUG,不能覆盖到全屏,表现和安卓及开发者中不一致?

可以复现的代码:

https://developers.weixin.qq.com/s/eRNeZDmb7MbN


demo的基本逻辑:创建一个使用webgl的canvas,再创建一个使用2d的canvas,然后把2d的canvas作为texture画到webgl的canvas上。

webgl的canvas背景色是红色,2d的canvas的背景色是绿色。


因为两个canvas的大小一致,所以理论上绿色区域应该完全覆盖红色区域。但是在 ios 上表现是绿色区域只能覆盖一部分。


安卓和开发者工具上的表现正常:


ios上的表现不对:



最后一次编辑于  09-25
回答关注问题邀请回答
收藏

2 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    09-25

    这是因为 iOS 在启动之初有一个转屏的过程,启动之后立刻创建离屏 canvas 的话,尺寸会以竖屏的为准。可以自行设置离屏 canvas 的尺寸,或者加一点延时再创建。

    09-25
    赞同
    回复 4
    • 凤鸣
      凤鸣
      09-25
      还是不行的,按照你的建议延迟5秒才创建离屏canvas,还是和之前的效果一样,https://developers.weixin.qq.com/s/SOY7BDmO7JbV
      09-25
      回复
    • 凤鸣
      凤鸣
      09-26
      这个问题有下文吗?
      09-26
      回复
    • 小程序/小游戏开发-Link
      小程序/小游戏开发-Link
      09-27回复凤鸣
      在创建离屏 canvas 的地方加日志可以确认尺寸是对的,但画到上屏画布时的尺寸不对还在等同事排查,有结论我反馈
      09-27
      回复
    • 凤鸣
      凤鸣
      09-27回复小程序/小游戏开发-Link
      好的,3Q~
      09-27
      回复
  • 凤鸣
    凤鸣
    09-25


    注意到ios里的log,上屏canvas的style和离屏canvas的style属性有区别,离屏canvas的size属性和style属性是颠倒的。创建离屏canvas时已经是app启动5秒后了。

    09-25
    赞同
    回复 2
    • 凤鸣
      凤鸣
      09-26
      为什么我的提问在社区主页看不到。。
      09-26
      回复
    • 小程序/小游戏开发-Link
      小程序/小游戏开发-Link
      09-27
      这两条日志都是上屏画布的,日志中的 “Creating” 这个语义不太正确,第二次应该是发生了我说的转屏事件之后的更新。
      09-27
      回复
问题标签