《微信小程序開發(fā)從入門到實戰(zhàn)》學(xué)習(xí)八十八

6.15 設(shè)備API

6.15.9?設(shè)備方向API

基礎(chǔ)庫2.3.0開始小程序開始支持監(jiān)聽設(shè)備方向變化事件。

對設(shè)備方向的監(jiān)聽默認(rèn)是關(guān)閉的。

需要監(jiān)聽時調(diào)用wx.startDeviceMotionListening接口開啟監(jiān)聽。

使用wx.onDeviceMotionChange獲取監(jiān)聽到的方向數(shù)據(jù)。

不需要監(jiān)聽時可使用wx.stopDeviceMotionListening關(guān)閉監(jiān)聽。

與加速計API使用方式相似。

調(diào)用wx.startDeviceMotionListening可傳入interval屬性,設(shè)置監(jiān)聽回調(diào)函數(shù)的執(zhí)行周期。interval的默認(rèn)設(shè)置為normal,即普通的回調(diào)周期,在200毫秒/次左右;

game表示用于更新游戲的回調(diào)周期,在20毫秒/次左右;

ui表示用于適用于UI回調(diào)周期,在60毫秒/次左右。

示例代碼如下:

????wx.startDeviceMotionListening({

??????interval:?'ui',?//?監(jiān)聽設(shè)備方向數(shù)據(jù)回調(diào)函數(shù)的執(zhí)行周期

??????success()?{

????????//?設(shè)置回調(diào)函數(shù)接收設(shè)備方向數(shù)據(jù)

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

??????????console.log(res.alpha)?//?當(dāng)手機坐標(biāo)X/Y和地球X/Y重合時,繞著Z軸轉(zhuǎn)動的夾角為alpha。范圍值為[0,360]。逆時針轉(zhuǎn)動為正

??????????console.log(res.beta)?//?當(dāng)手機坐標(biāo)Y/Z和地球Y/Z重合時,繞著X軸轉(zhuǎn)動的夾角為beta。范圍值為[-180,180]。頂部朝著地球表面轉(zhuǎn)動為正。也有可能朝著用戶為正

??????????console.log(res.gamma)?//?當(dāng)手機坐標(biāo)X/Z和地球X/Z重合時,繞著Y軸轉(zhuǎn)動的夾角為gamma。范圍值為[-90,90]。右邊朝著地球表面轉(zhuǎn)動為正

????????})

?????????//?5秒后關(guān)閉監(jiān)聽

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

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

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

??????}

????})

6.15.10?陀螺儀API

智能手機一般都內(nèi)置了陀螺儀,可以檢測到手機在x軸、y軸、z軸三個方向上的角速度。

陀螺儀API自基礎(chǔ)庫2.3.0版本起開始支持,

對設(shè)備角速度的監(jiān)聽默認(rèn)是關(guān)閉的。

需要監(jiān)聽時調(diào)用wx.startGyroscope接口開啟監(jiān)聽。

使用wx.onGyroscopeChange獲取監(jiān)聽到的角速度數(shù)據(jù)。

不需要監(jiān)聽時可使用wx.stopGyroscope關(guān)閉監(jiān)聽。

與加速計API使用方式相似。

調(diào)用wx.startGyroscope可傳入interval屬性,設(shè)置監(jiān)聽回調(diào)函數(shù)的執(zhí)行周期。interval的默認(rèn)設(shè)置為normal,即普通的回調(diào)周期,在200毫秒/次左右;

game表示用于更新游戲的回調(diào)周期,在20毫秒/次左右;

ui表示用于適用于UI回調(diào)周期,在60毫秒/次左右。

示例代碼如下:

????wx.startGyroscope({

??????success()?{

????????//?設(shè)置回調(diào)函數(shù)接收陀螺數(shù)據(jù)

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

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

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

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

????????})

?????????//?5秒后關(guān)閉監(jiān)聽

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

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

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

??????}

????})

6.15.11 震動API

使用wx.vibrateShort接口可以使手機發(fā)生較短時間的震動(15毫秒)。該接口僅在Androidji機型以及iPone7/7Plus以上版本機型中生效。

使用wx.vibrateLong接口可以使手機發(fā)生較長時間的震動(400毫秒)。

示例代碼如下:

wx.vibrateShort()

wx.vibrateLong()

yj

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容