收藏
回答

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上的表现不对:



回答关注问题邀请回答
收藏

3 个回答

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

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

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

    一摸一样遇到的问题 = v =

    log显示高宽值颠倒...hahaha

    2023-02-08
    有用
    回复
  • 2019-09-25


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

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