var numX = 1 //x轴
var numY = 1 // y轴
var numZ = 0 // z轴
var stsw = true // 开关,保证在一定的时间内只能是一次,摇成功
var positivenum = 0 //正数 摇一摇总数
//var audioCtx = wx.createAudioContext('myAudio') //音频,用于摇成功提示
wx.onAccelerometerChange(function (res) { //微信小程序API 加速度计
if (numX < res.x && numY < res.y) { //个人看法,一次正数算摇一次,还有更复杂的
positivenum++
setTimeout(() => { positivenum = 0 }, 2000) //计时两秒内没有摇到指定次数,重新计算
}
if (numZ < res.z && numY < res.y) { //可以上下摇,上面的是左右摇
positivenum++
setTimeout(() => { positivenum = 0 }, 2000) //计时两秒内没有摇到指定次数,重新计算
}
if (positivenum == 2 && stsw) { //是否摇了指定的次数,执行成功后的操作
stsw = false
// audioCtx.setSrc('http://pic.ibaotu.com/00/43/58/92J888piCmbi.mp3') //音频文件,第三方的可自行选择
// audioCtx.play() //播发音频
p++
console.log('摇一摇成功' + p)
that.startAnimation();
wx.showToast({ title: '计算2222222222', icon: 'loading', duration: 2000 });
setTimeout(() => {
positivenum = 0 // 摇一摇总数,重新0开始,计算
stsw = true
}, 2000)
}
})
第二次在摇,会边连续触发两次,不管怎么写判读都没用。
求解
第一次p=1 第二次两个连续 p=2,p=3,第三次在摇 直接变成P6
本文网址:http://www.91bianli.com/weixinxiaochengxu/627.html