调用手机陀螺仪

本文介绍如何使用H5中的DeviceOrientationHandler方法实现设备方向感应功能,如微信摇一摇及通过晃动手机来控制小球移动等效果。文中详细展示了如何通过监听设备的方向变化并读取alpha、beta和gamma三个角度值来判断设备的当前状态。

H5有一个DeviceOrientationHandler方法

利用这个方法可以实现例如微信摇一摇、晃动手机控制小球移动等效果

代码如下:

<script>
        function DeviceOrientationHandler(event){
            var alpha = event.alpha,
                beta = event.beta,
                gamma = event.gamma;
            if(alpha != null || beta != null || gamma != null){
                dataContainerOrientation.innerHTML = "alpha:" + alpha + "<br />beta:" + beta + "<br />gamma:" + gamma;
                //判断屏幕方向
                var html = "";
                if( Math.abs(gamma) < GAMMA_MIN && Math.abs(beta) > BETA_MAX ){
                    html = "屏幕方向:Portrait";
                }

                if( Math.abs(beta) < BETA_MIN && Math.abs(gamma) > GAMMA_MAX ){
                    html = "屏幕方向:Landscape";
                }

                var gamma_html = "";
                if( gamma > 0 ){
                    gamma_html = "向右倾斜";
                }else{
                    gamma_html = "向左倾斜";
                }
                html += "<br />"+gamma_html
                stage.innerHTML = html;
            }else{
                dataContainerOrientation.innerHTML = "当前浏览器不支持DeviceOrientation";
            }
        }

        //为浏览器绑定deviceorientation事件和处理程序。
        if(window.DeviceOrientationEvent){
            window.addEventListener('deviceorientation',DeviceOrientationHandler,false);
        }else{
            alert("您的浏览器不支持DeviceOrientation");
        }
    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值