zoukankan      html  css  js  c++  java
  • 设备加速传感器(accelerometer) ---- HTML5+

    模块:Accelerometer

    Accelerometer模块管理设备加速度传感器,用于获取设备加速度信息,包括x(屏幕水平方向)、y(垂直屏幕水平方向)、z(垂直屏幕平面方向)三个方向的加速度信息。例如:微信的摇一摇,当你在摇晃手机的时候,上下左右都会产生一个相应的值,当这个值大于某一个值的时候,就可以确定是在摇晃手机了,这时就会做出响应;

    首先所有HTML5+对象是放到 plus 里面的;其次是具体对象;accelerometer;然后是具体的方法:getCurrentAcceleration(); 获取当前设备的加速度信息;watchAcceleration(); 监听设备加速度变化信息;clearWatch(); 关闭监听设备加速度信息;

    使用场景: 摇一摇,步数统计,报警系统,速度感应系统等

    即时获取:当调用这个的时候,这个加速度是多少;

    plus.accelerometer.getCurrentAcceleration(function(a){
        alert( "Acceleration
    x:" + a.xAxis + "
    y:" + a.yAxis + "
    z:" + a.zAxis );
    },function(e){
        alert( "Acceleration error: " + e.message ); 
    });

    监听接口:每隔多长时间去获取下;(有点像JavaScript的定时器,开启定时器每隔多少时间去调用下,然后还可以取消)

    看回调:successCB,errorCB,option

    var wid = null; //监听返回的是一个ID
    wid = plus.accelerometer.watchAcceleration(function(a){ var valStr = "Acceleration x:" + a.xAxis + " y:" + a.yAxis + " z:" + a.zAxis; $("#info").html(valStr); },function(e){ var valStr = "Acceleration error: " + e.message ; $("#info").html(valStr); },{frequency:'1000'});

    停止监听

    plus.accelerometer.clearWatch(wid); // 类似于清空定时器需要制定一个播放器

    获取示例

    <header class="mui-bar mui-bar-nav">
        <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
        <h1 class="mui-title">设备加速传感器</h1>
    </header>
    <div class="mui-content mui-content-padded">
        <button type="button" id="btnGetAcc" class="mui-btn mui-btn-blue mui-btn-block">获取</button>
        <button type="button" id="btnWatchAcc" class="mui-btn mui-btn-blue mui-btn-block">监听</button>
        <button type="button" id="btnClearAcc" class="mui-btn mui-btn-blue mui-btn-block">停止监听</button>
        <p id="info"></p>
    </div>
    <script src='http://libs.baidu.com/jquery/1.8.3/jquery.min.js'></script>
    <script type="text/javascript" src="js/mui.js"></script>
    <script type="text/javascript">
    mui.plusReady(function(){
        $("#btnGetAcc").bind('tap',function(){getAcc();});
        $("#btnWatchAcc").bind('tap',function(){watchAcc();});
        $("#btnClearAcc").bind('tap',function(){clearWatch();});
        function getAcc(){
            plus.accelerometer.getCurrentAcceleration(function(a){
                alert( "Acceleration
    x:" + a.xAxis + "
    y:" + a.yAxis + "
    z:" + a.zAxis );
            },function(e){
                alert( "Acceleration error: " + e.message ); 
            });
        };
        var wid = null;
        function watchAcc(){
            wid = plus.accelerometer.watchAcceleration(function(a){
                var valStr = "Acceleration
    x:" + a.xAxis + "
    y:" + a.yAxis + "
    z:" + a.zAxis;
                $("#info").html(valStr);
            },function(e){
                var valStr = "Acceleration error: " + e.message ;
                $("#info").html(valStr);
            },{frequency:'1000'});
        }
        function clearWatch(){
            plus.accelerometer.clearWatch(wid);
        }
    });
    </script>
  • 相关阅读:
    【JAVA基础&Python】静态方法与单例模式,以及应用场景
    【JAVA基础】static的定义
    【JAVA基础&Python】类与对象的继承
    MD的编辑器汇总
    Oracle 学习笔记(二)
    安装Jieba 库出现错误解总结
    (十五)-前端 -项目总结
    (八)-前端-DOM基础
    (十四)-前端-面试-项目相关
    (十三)- 前端-面试-REACT
  • 原文地址:https://www.cnblogs.com/e0yu/p/7840038.html
Copyright © 2011-2022 走看看