js+html怎样实现Andriod重力感应触发

JavaScript015

js+html怎样实现Andriod重力感应触发,第1张

var con = document.getElementById("con")

 

(function(){

    // 监听运动传感事件,查看是否支持硬件运动

    if (window.DeviceMotionEvent) {

        window.addEventListener('devicemotion', deviceMotionHandler, false)

    } else {

        alert("您的设备不支持硬件调用")

    }

 

    // 变量初始化

    var x = 0,

     y = 0,

     z = 0,

    lastX = 0,

    lastY = 0,

    lastZ = 0,

curTime = 0,

lastTime = 0,

diffTime = 0,

    speed = 0

 

    // 设置一个阀值

    var SHAKE_THRESHOLD = 800 // 设定摇晃的阈值为600 运行相应操作

 

    /*

     * 功能:测算三个方向重力加速度,达到一定值进行相应操作

     * 作者:HTML5学堂、刘国利、陈能堡

     *

     */

    function deviceMotionHandler(eventData){

        var acceleration = eventData.accelerationIncludingGravity

 

        // 获取当前时间

        curTime = new Date().getTime()

        // 计算时间差,当这个差值大于一定值执行计算三个方向的速度

        if ((curTime - lastTime) > 100) {

            // 记录上一次的时间

            diffTime = curTime - lastTime

            lastTime = curTime

 

            // 获取当前三个方向的值

            x = acceleration.x

            y = acceleration.y

            z = acceleration.z

 

            // 计算速度,为了防止出现负数,进行绝对值

            speed = Math.abs((x + y + z - lastX - lastY - lastZ) / diffTime * 8000)

            if (speed > SHAKE_THRESHOLD) {

                alert("我实现摇一摇了")

            }

 

            // 记录上一次三个方向的值

            lastX = x

            lastY = y

            lastZ = z                    

        }

    }

})()

资料来源HTML5学堂。

重力感应控制的游戏突然发现不能玩了要进行以下步骤:

1.确定手机是否支持重力感应。

2.判断一下软件是否有故障。

3.再检查是否开启了屏幕旋转.

4在进行恢复出厂设置。

5最后还不行携带手机、发票及保修卡找服务中心维修。

重力感应,是指对地球的重力方向的感知,目前许多的设备上都安装有重力感应芯片。