Skip to content

陀螺仪

js
lastAcc = {}
uni.onGyroscopeChange((res) => {
    var delA = Math.abs(res.x - this.lastAcc.x) // x轴偏转角
    var delB = Math.abs(res.y - this.lastAcc.y) // y轴偏转角
    var delG = Math.abs(res.z - this.lastAcc.z) // z轴偏转角
    if (
        (delA > 2 && delB > 2) ||
        (delA > 2 && delG > 2) ||
        delB > 2 ||
        delG > 2
    ) {
        // 用户设备摇动了,触发响应操作
        // 此处的判断依据是任意两个轴篇转角度大于15度
        if (this.user && this.user.userId && !this.playLoading) {
            this.shakePlay = true
        }
    }
    this.lastAcc = res // 存储上一次的event
})