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