cocos-creator使用记录25_微信监听罗盘和加速度计

本文介绍了微信小游戏如何使用罗盘和加速度计API。罗盘用于获取设备方向,加速度计则用于检测手机位置变化。通过计算加速度计的三轴值,可以得出手机的姿态角。在实际开发中,需要注意监听事件的管理和防止重复注册。同时,还提供了加速度计数据判断手机状态的示例代码。


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

根据加速度计三轴的值计算姿态角:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值