小程序开发API之监听陀螺仪wx.startGyroscope
陀螺仪 (角运动检测装置):陀螺仪是用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴的角运动检测装置。利用其他原理制成的角运动检测装置起同样功能的也称陀螺仪。
手机陀螺仪:陀螺仪又叫角速度传感器,是不同于加速度计(G-sensor)的,他的测量物理量是偏转、倾斜时的转动角速度。在手机上,仅用加速度计没办法测量或重构出完整的3D动作,测不到转动的动作的,G-sensor只能检测轴向的线性动作。但陀螺仪则可以对转动、偏转的动作做很好的测量,这样就可以精确分析判断出使用者的实际动作。而后根据动作,可以对手机做相应的操作!
手机上的应用举例:
- 动作感应的GUI:通过小幅度的倾斜,偏转手机,实现菜单,目录的选择和操作的执行。(比如前后倾斜手机,实现通讯录条目的上下滚动;左右倾斜手机,实现浏览页面的左右移动或者页面的放大或缩小。)
- 转动,轻轻晃动手机2-3下,实现电话接听或打开网页浏览器等。
- 拍照时的图像稳定,防止手的抖动对拍照质量的影响。在按下快门时,记录手的抖动动作,将手的抖动反馈给图像处理器,可以抓到更清晰稳定的图片
- GPS的惯性导航:当汽车行驶到隧道或城市高大建筑物附近,没有GPS讯号时,可以通过陀螺仪来测量汽车的偏航或直线运动位移,从而继续导航。
- 通过动作感应控制游戏:这也是Steve重点介绍的,也是可以给APP开发者更多创新空间的地方。开发者可以通过陀螺仪对动作检测的结果(3D范围内手机的动作),去实现对游戏的操作。比如,把你的手机当作一个方向盘,你的手机屏幕上是一架飞行中的战斗机,只要你上下,左右地倾斜手机,飞机就可以做上下,左右的动作。
wx.startGyroscope(Object object)
开始监听陀螺仪数据。
参数Object
object.interval 的合法值
wx.stopGyroscope(Object object)
停止监听陀螺仪数据。
参数Object
wx.onGyroscopeChange(function callback)
监听陀螺仪数据变化事件。频率根据 wx.startGyroscope() 的 interval 参数。可以使用 wx.stopGyroscope() 停止监听。
参数
function callback
陀螺仪数据变化事件的回调函数
参数Object res
res 的结构