收藏
回答

屏幕旋转onDeviceMotionChange苹果bug,并且安卓与苹果相反。

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug onDeviceMotionChange 客户端 最新 2.3.0及以上


- 当前 Bug 的表现


    在ios设备上,在什么方向开始监听的便默认该方向为0。例如:我从侧向点开始监听,便认为侧向为0。

    在正常进入的情况下(竖屏正向)安卓与苹果的数据是相反的。


- 预期表现

    

    ios无论在什么方向进来都可以显示该方向固定的值。

    Android和ios的方向数据是一致的。


- 复现路径

    wechatide://minicode/lLSkRAmT7B31

- 提供一个最简复现 Demo

    wechatide://minicode/lLSkRAmT7B31


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

7 个回答

  • Special
    Special
    2018-11-01

    问题已复现,我们会尽快进行修复。

    2018-11-01
    有用 1
    回复 6
    • 2019-02-27

      兄弟,还没修复吗

      2019-02-27
      回复
    • 老情
      老情
      2019-04-16

      同遇到这个问题了,还没有修复么?

      2019-04-16
      回复
    • cjx
      cjx
      2019-05-25

      同遇到这个问题了,还没有修复吗……

      2019-05-25
      回复
    • WX.
      WX.
      2020-03-07
      +1
      2020-03-07
      回复
    • 请叫我小豪先生
      请叫我小豪先生
      2020-03-15
      修复了吗?暂时有解决方案吗?
      2020-03-15
      回复
    查看更多(1)
  • 理想
    理想
    2022-01-15

    能否新出个接口,修复一下问题?

    2022-01-15
    有用
    回复 1
    • 理想
      理想
      2022-01-15
      本来就菜,不太会动态解决,希望接口帮忙直接处理各种姿态,各种系统按使用习惯做正常表现,期待了
      2022-01-15
      回复
  • HM365X
    HM365X
    2021-12-02

    wx.startDeviceMotionListening

    https://developers.weixin.qq.com/minigame/dev/api/device/motion/wx.startDeviceMotionListening.html

    wx.onDeviceMotionChange

    https://developers.weixin.qq.com/minigame/dev/api/device/motion/wx.onDeviceMotionChange.html


    iOS上的表现的确和Android不同,可直接搜索"小游戏示例"做测试。


    先做几个定义------------------

    手机坐标系:

    手机平方桌面,出屏方向+Z轴,手机右侧+X轴,手机头部+Y轴(右手坐标系)

    旋转方法:

    逆着旋转轴朝向看向旋转目标,然后实施"顺时针旋转"或"逆时针旋转"

    手机标准姿态:

    alpha,beta,gamma全0时的手机姿态



    Android手机实测结果-----------

    沿+Z轴顺时针旋转360度,alpha:0 -> 90 ->180 ->270 -> 360

    沿+X轴顺时针旋转360度,beta :0 -> 90 -> 0 -> -90 -> 0

    沿+Y轴顺时针旋转360度,gamma: 0 -> 90 -> 180(-180) -> -90 -> 0

    手机标准姿态是固定的:

    手机平放桌面,头部朝北


    iOS手机实测结果---------------

    沿+Z轴逆时针旋转360度,alpha:0 -> 90 ->180 ->270 -> 360

    沿+X轴逆时针旋转360度,beta :0 -> 90 -> 0 -> -90 -> 0

    沿+Y轴逆时针旋转360度,gamma: 0 -> 90 -> 180(-180) -> -90 -> 0

    手机标准姿态是动态的,按以下步骤可得到:

    .将启动传感器(wx.startDeviceMotionListening)瞬间的手机姿态投影到水平面

    .若投影后手机屏幕朝地,沿X轴旋转180度让屏幕朝上


    结论--------------------------

    1.iOS与Android的旋转方向正好相反

    2.iOS的数据不含东南西北朝向

    2021-12-02
    有用
    回复
  • DeepKolos
    DeepKolos
    2021-03-01

    2021年了

    2021-03-01
    有用
    回复
  • TANGYC_
    TANGYC_
    2020-11-17

    好像现在还没修复

    2020-11-17
    有用
    回复
  • Stark
    Stark
    2019-09-12

    一年过去了,好像并没有修复。ios和安卓的差别还是很大,开发文档里描述的适用于安卓,不适用ios

    2019-09-12
    有用
    回复
  • 是小白啊
    是小白啊
    2018-11-01

    乱码了,麻烦重新提供下

    2018-11-01
    有用
    回复 2
    • 2018-11-01

      wechatide://minicode/0UW8lAma7q3l

      2018-11-01
      回复
    • 2019-02-27

      请问一下,这个问题修复了吗?

      2019-02-27
      回复
登录 后发表内容