[AIR] 检测移动设备运动
Accelerometer 类根据由设备的运动传感器检测的活动调度事件。此数据表示设备的位置或沿三维轴的移动。当设备移动时,传感器会检测到此移动并返回加速数据。Accelerometer 类提供了各种方法,用于查询是否支持加速计以及设置调度加速事件时使用的速率。
注意:使用 Accelerometer.isSupported
属性测试运行时环境是否能够使用此功能。当为各个 API 入口列出的运行时版本可以访问 Accelerometer 类及其成员时,运行时的当前环境将确定此功能的可用性。例如,您可以使用 Flash Player 10.1 的 Accelerometer 类属性编译代码,但是需要使用 Accelerometer.isSupported
属性测试 Accelerometer 功能在 Flash Player 运行时的当前部署环境中的可用性。如果 Accelerometer.isSupported
在运行时为 true
,则当前存在 Accelerometer 支持。
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.AccelerometerEvent;
import flash.sensors.Accelerometer;
import flash.text.TextField;
import flash.text.TextFieldAutoSize; /**
* @author Frost.Yen
* @E-mail 871979853@qq.com
* @create 2015-6-17 下午2:59:32
*
*/
public class AccelermeterTest extends Sprite
{
private var _accelerometer:Accelerometer;
private var _oldAccX:Number;
private var _oldAccY:Number;
private var _oldAccZ:Number;
private var _sum:Number;
private var _txt:TextField;
public function AccelermeterTest()
{
super();
// 支持 autoOrient
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
_txt=new TextField()
_txt.x=10;
_txt.y=10;
_txt.autoSize=TextFieldAutoSize.LEFT;
this.addChild(_txt);
if(Accelerometer.isSupported){
_oldAccX=0;
_oldAccY=0;
_oldAccZ=0;
_sum=0;
_accelerometer=new Accelerometer();
_accelerometer.setRequestedUpdateInterval(1000);
_accelerometer.addEventListener(AccelerometerEvent.UPDATE,onUpdate);
}else{
_txt.text="当前设备不支持加速计。";
}
}
private function onUpdate(e:AccelerometerEvent):void{
_sum=0;
const k:Number=5;//越大敏感度越高
var accX:Number=Math.round(e.accelerationX*k)/k;
var accY:Number=Math.round(e.accelerationY*k)/k;
var accZ:Number=Math.round(e.accelerationZ*k)/k;
_sum+=Math.abs(accX-_oldAccX);
_sum+=Math.abs(accY-_oldAccY);
_sum+=Math.abs(accZ-_oldAccZ);
_oldAccX=accX;
_oldAccY=accY;
_oldAccZ=accZ;
_txt.text=
"event.accelerationX="+e.accelerationX+"\n"+
"event.accelerationY="+e.accelerationY+"\n"+
"event.accelerationZ="+e.accelerationZ+"\n"+
"accX="+accX+"\n"+
"accY="+accY+"\n"+
"accZ="+accZ+"\n"+
"sum="+_sum;
trace(e.accelerationX,e.accelerationY,e.accelerationZ);
if(_sum >0.2){
//trace(sum,"摇手机");
}
}
}
}
[AIR] 检测移动设备运动的更多相关文章
- PHP检测移动设备类mobile detection使用实例
目前,一个网站有多个版本是很正常的,如PC版,3G版,移动版等等.根据不同的浏览设备我们需要定向到不同的版本中.不仅如此,我们有时候还需要根据不同的客户端加载不同的CSS,因此我们需要能够检测浏览设备 ...
- 使用python检测一个设备是否ping的通
使用python检测一个设备是否ping的通 一,subprocess以及常用的封装函数 运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并 ...
- js/css 检测移动设备方向的变化 判断横竖屏幕
js/css 检测移动设备方向的变化 判断横竖屏幕 方法一:用触发手机的横屏和竖屏之间的切换的事件 window.addEventListener("orientationchange&qu ...
- JS和css实现检测移动设备方向的变化并判断横竖屏幕
这篇文章主要介绍了JS和css实现检测移动设备方向的变化并判断横竖屏幕,本文分别给出实现代码,需要的朋友可以参考下 方法一:用触发手机的横屏和竖屏之间的切换的事件 [自测可用, chrome , 手 ...
- AIR检测网络
package com.juyou.util.net { import flash.events.StatusEvent; import flash.net.URLRequest; import ai ...
- js检测当前设备是移动端还是PC端
加上下面js即可 硬核判断: <script type="text/javascript"> //平台.设备和操作系统 var system ={ win : fals ...
- VC++检测硬件设备状态
首先捕捉WM_DEVICECHANGE消息,该消息在usb插拔时均有触发. MFC下 添加消息处理函数afx_msg BOOL OnDeviceChange( UINT nEventType, DWO ...
- [Swift通天遁地]七、数据与安全-(16)检测Apple设备是否越狱
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- AIR面向IOS设备的原生扩展
来源:http://www.cnblogs.com/alex-tech/archive/2012/03/22/2411264.html ANE组成部分 在IOS平台中,ANE的组成部分基本分为AS 3 ...
随机推荐
- GetHashCode作用
除了以下的转载,再补充几点: 1.相同对象的hashcode一定相同,不同的hashcode不一定不相同. 2.好的散列算法可以更均匀的分布,进而可以更快的索引 3.据说,值对象的hashcode由第 ...
- Opencv Laplace算子
//通过拉普拉斯-锐化边缘 kernel = (Mat_<float>(3,3)<<1,1,1,1,-8,1,1,1,1);//Laplace算子 filter2D(img2, ...
- 关于oraclize使用最好的一篇文章
https://medium.com/@msolomon44/using-apis-in-your-ethereum-smart-contract-with-oraclize-95656434292e ...
- p2093 [国家集训队]JZPFAR
传送门 分析 首先给大家推荐一个非常好的KDTree笔记 here 此题就是y9ong优先队列维护距离最远的k个,最后输出队首元素即可 估价函数就是max和min两点到 询问点的最远距离 代码 #in ...
- windows server2012如何开启mysql远程登录
开发的首要任务就是要搭建起自己的服务器,下面主要是我这搭建记录下 我的各种环境 服务器为Windows server2012 安装的MySQL数据的版本是5.6.10 ,64位.当然了版本对于安装没 ...
- [欣赏代码片段] (JavaScript) 你使用过getComputedStyle没有
(function() { // IE8 ployfill for GetComputed Style (for Responsive Script below) if (!window.getCom ...
- HDU 5977 Garden of Eden (树分治+状态压缩)
题意:给一棵节点数为n,节点种类为k的无根树,问其中有多少种不同的简单路径,可以满足路径上经过所有k种类型的点? 析:对于路径,就是两类,第一种情况,就是跨过根结点,第二种是不跨过根结点,分别讨论就好 ...
- Druid详细配置信息
druid的配置项如下 配置 缺省值 说明 name 配置这个属性的意义在于,如果存在多个数据源,监控的时候 可以通过名字来区分开来.如果没有配置,将会生成一个名字, 格式是:"Data ...
- 设计模式22:Strategy 策略模式(行为型模式)
Strategy 策略模式(行为型模式) 动机(Motivation) 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂:而且有时候支持 ...
- 13、Semantic-UI之表格与表单
13.1 定义基础样式表格 在HTML中可以通过table进行表格定义,在Semantic-UI中也可以通过class="ui table"定义表格. 示例:定义基础表格 &l ...