《微信小程序开发从入门到实战》学习八十八

发布时间:2024年01月20日

6.15 设备API

6.15.9?设备方向API

基础库2.3.0开始小程序开始支持监听设备方向变化事件。

对设备方向的监听默认是关闭的。

需要监听时调用wx.startDeviceMotionListening接口开启监听。

使用wx.onDeviceMotionChange获取监听到的方向数据。

不需要监听时可使用wx.stopDeviceMotionListening关闭监听。

与加速计API使用方式相似。

调用wx.startDeviceMotionListening可传入interval属性,设置监听回调函数的执行周期。interval的默认设置为normal,即普通的回调周期,在200毫秒/次左右;

game表示用于更新游戏的回调周期,在20毫秒/次左右;

ui表示用于适用于UI回调周期,在60毫秒/次左右。

示例代码如下:

????wx.startDeviceMotionListening({

??????interval:?'ui',?//?监听设备方向数据回调函数的执行周期

??????success()?{

????????//?设置回调函数接收设备方向数据

????????wx.onDeviceMotionChange(res?=>?{

??????????console.log(res.alpha)?//?当手机坐标X/Y和地球X/Y重合时,绕着Z轴转动的夹角为alpha。范围值为[0,360]。逆时针转动为正

??????????console.log(res.beta)?//?当手机坐标Y/Z和地球Y/Z重合时,绕着X轴转动的夹角为beta。范围值为[-180,180]。顶部朝着地球表面转动为正。也有可能朝着用户为正

??????????console.log(res.gamma)?//?当手机坐标X/Z和地球X/Z重合时,绕着Y轴转动的夹角为gamma。范围值为[-90,90]。右边朝着地球表面转动为正

????????})

?????????//?5秒后关闭监听

?????????setTimeout(()?=>?{

???????????wx.stopDeviceMotionListening()

?????????},5000)

??????}

????})

6.15.10?陀螺仪API

智能手机一般都内置了陀螺仪,可以检测到手机在x轴、y轴、z轴三个方向上的角速度。

陀螺仪API自基础库2.3.0版本起开始支持,

对设备角速度的监听默认是关闭的。

需要监听时调用wx.startGyroscope接口开启监听。

使用wx.onGyroscopeChange获取监听到的角速度数据。

不需要监听时可使用wx.stopGyroscope关闭监听。

与加速计API使用方式相似。

调用wx.startGyroscope可传入interval属性,设置监听回调函数的执行周期。interval的默认设置为normal,即普通的回调周期,在200毫秒/次左右;

game表示用于更新游戏的回调周期,在20毫秒/次左右;

ui表示用于适用于UI回调周期,在60毫秒/次左右。

示例代码如下:

????wx.startGyroscope({

??????success()?{

????????//?设置回调函数接收陀螺数据

????????wx.onGyroscopeChange(res?=>?{

??????????console.log(res.x)?//?x轴方向的角速度

??????????console.log(res.y)?//?y轴方向的角速度

??????????console.log(res.z)?//?z轴方向的角速度

????????})

?????????//?5秒后关闭监听

?????????setTimeout(()?=>?{

???????????wx.stopGyroscope()

?????????},5000)

??????}

????})

6.15.11 震动API

使用wx.vibrateShort接口可以使手机发生较短时间的震动(15毫秒)。该接口仅在Androidji机型以及iPone7/7Plus以上版本机型中生效。

使用wx.vibrateLong接口可以使手机发生较长时间的震动(400毫秒)。

示例代码如下:

wx.vibrateShort()

wx.vibrateLong()

yj

文章来源:https://blog.csdn.net/xy2937131682/article/details/135715204
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。