1.罗盘
1.1.微信小游戏罗盘的API
https://developers.weixin.qq.com/minigame/dev/document/device/compass/wx.onCompassChange.html
罗盘适用的场景:
地图软件中自己的方向。
以垂直于手机屏幕中心为轴,返回一个角度,此角度就是现实中的方向。如下:
0
北
270 西 东 90
南
180
1.2.代码
//监听罗盘数据
compass:function(){
wx.startCompass()
wx.onCompassChange(function(res){
console.log("direction:"+res.direction)
})
//wx.stopCompass()
},
2.加速度计
2.1.微信小游戏加速度计的API
https://developers.weixin.qq.com/minigame/dev/document/device/accelerometer/wx.onAccelerometerChange.html
加速度计适用的场景:
用于检测手机的各种摆放位置,比如屏幕朝上、屏幕朝下、手机立起来、手机横放等。
接口返回了3个变量:x、y、z,对应3个坐标轴。
将手机正面平放到地面,x轴方向是从左到右,y轴是从下到上,z轴穿出手机屏幕。
当手机处于静止状态时,手机此时只受一个重力加速度(1g=9.8m/s2)的作用,加速度计返回的res.x、res.y、res.z的值
就是设备的三轴受到的加速度的值,取值范围从[-1g,1g]。
设备以不同方式放置时,x/y/z的值如下(这里只是理论值):
x y z
手机正面立起 0 -1 0
手机立起向右横 1 0 0
手机倒立 0 1 0
手机立起向左横 -1 0 0
手机平放朝上 0 0 -1
手机平放朝下 0 0 1
根据加速度计三轴的值计算姿态角: