通过wx.onAccelerometerChange可以监听手机的加速计,在传入的回调函数里获得x、y、z这3个方向上的移动加速度
下面以一个摇一摇换图的案例,演示如何监听手机加速计,代码如示例4-19所示
index.wxml<view><text>摇一摇换图</text><image src="{{list[index]}}"></image></view>
index.jsPage({data: {list: ['/public/imgs/emo1.png','/public/imgs/emo2.png','/public/imgs/emo3.png'],index: 0},onLoad: function () {var that = thiswx.onAccelerometerChange(function (e) {if (e.x > 1 && e.y > 1) {if (that.data.index == that.data.list.length - 1) {that.setData({index: 0})}else {that.setData({ index: that.data.index + 1 })}wx.showToast({title: '摇一摇成功',icon: 'success',duration: 1000})}})}})
页面使用image组件显示数组里的图片
onLoad函数里开启加速计监听
判断x和y方向上的加速度是否都大于1,如果是就认为用户在摇手机
把index+1,这样image组件显示的图片就会换一张
如果index大于数组中最后一张图片的下标,则把index重置为0,否则就会发生数组下标越界
