《PhoneGap移动应用开发手册》——1.2节使用加速计检测设备的移动

1.2 使用加速计检测设备的移动
PhoneGap移动应用开发手册
加速计可捕捉设备在x,y,z这3个空间轴上的移动。加速计是一种移动传感器,它能检测当前设备位置的相对移动变化。

实现步骤
使用PhoneGap API提供的加速计相关函数检测设备的反馈信息。

(1)首先,创建HTML初始化框架,并添加需求脚本文件cordova-2.0.0.js的引用。

通过http://www.packtpub.com.网站购买Packet相关书籍的用户,可以下载已购买书籍的示例代码。其他读者可以访问网站http://www.packtpub.com/support,通过注册后,可将相关文件直接发送到您的电子邮箱。
(2)在Cordova JavaScript引用的下面,新建一个JavaScript标签块,进行下一步之前,定义一个确保设备准备就绪及本地代码加载完成的侦听事件。

(4)加入onSuccess函数处理从加速计返回的信息。

(5)定义accelerometer div元素对应变量,保存生成的加速计结果。

(6)接下来,将accerlation对象的返回值赋给accelerometer via元素中的HTML以显示给用户,将acceleration对象访问的可用属性赋值给字符串变量。

实现原理
通过注册deviceready事件的侦听事件,保证在JavaScript代码执行时本地的PhoneGap代码已经执行完毕。一旦准备就绪,程序将调用加速计API中的getCurrentAcceleration函数,并加载两种方法,分别处理成功返回和错误信息。

onSuccess函数返回的加速计信息,包含以下4种属性:

acceleration.x:Number类型变量,单位是m/s^2,用于测量设备在x轴方向上的加速度。也就是当屏幕垂直放置时,设备从左向右的移动。从左向右移动时,加速度值为正,反之,为负。
acceleration.y:Number类型变量,单位是m/s^2,用于测量设备在y轴方向上的加速度。也就是当屏幕垂直放置时,设备从下向上方向的移动。当设备往上移动时,获取的加速度值为正值,从上往下移动时则为负值。
acceleration.z:Number类型变量,单位是m/s^2,用于测量设备在z轴方向上的运动。也就是设备垂直方向的变化。当设备朝向天空移动时,获取的加速度为正值,当设备向地面方面移动时,加速度为负值。
acceleration.timestamp:DOMTimeStamp对象,用于测量从程序初始化开始运行的时间(毫秒),可以用来存储、更新以及追踪从上次加速计更新开始时间内的变化。
图1.2显示了x,y,z轴与设备的关系。

之前提到的加速度对象返回的acceleration.x、acceleration.y和acceleration.z值,都受到重力加速度的影响,其值精确到9.81 m/s^2。

相关内容
从设备获取加速度数据在一些移动手机游戏的开发中必不可少,这些游戏往往需要平衡控制,以及对设备转向、视图控制、设备倾斜的移动检测。

读者可在下面地址了解getCurrentAcceleration方法,及获取加速计数据的官方Cordova文档:
``
http://docs.phonegap.com/en/2.0.0/cordova_accelerometer_accelerometer.md.html#accelerometer.getCurrentAcceleration.

时间: 2024-08-01 06:26:59

《PhoneGap移动应用开发手册》——1.2节使用加速计检测设备的移动的相关文章

《PhoneGap移动应用开发手册》——1.7节根据位置坐标检索地图数据

1.7 根据位置坐标检索地图数据PhoneGap移动应用开发手册本节基于设备位置传感器返回的经纬度坐标,使用Google Maps API作为JaveScript,讲述如何在屏幕上绘制地图,及生成地图位置标签. 准备工作编码之前,先行搭建环境.获取Google Maps服务的访问权限. (1)注册一个Google Maps API key:访问https://code.google.com/apis/console/,并使用你的Google账户登录. (2)从左边菜单中选择Services选项,

《PhoneGap移动应用开发手册》——1.4节通过加速计事件更新对象的显示位置

1.4 通过加速计事件更新对象的显示位置 PhoneGap移动应用开发手册 开发者可以利用加速计传感器及其持续更新实现诸多功能,如运动监视游戏和更新屏幕上对象的位置. 实现步骤 下面将通过设备加速计传感器的持续更新,移动屏幕上的元素,作为设备移动的反应.该功能通过如下步骤实现. (1)创建HTML初始化框架.在head标签添加cordova JavaScript引用以导入需求的库. (2)在body标签中创建两个div元素.将其中第一个的id属性设置为点,作为在设备屏幕上移动的元素. (3) 第

《PhoneGap移动应用开发手册》——1.8节创建可视化罗盘显示设备的移动方向

1.8 创建可视化罗盘显示设备的移动方向PhoneGap移动应用开发手册PhoneGap API向开发者提供了获取设备的坐标信息及前进方向信息.开发者可以利用这些信息自定义一个罗盘工具来显示设备的移动. 实现步骤(1)创建HTML初始化框架,并添加需要脚本文件cordova-2.0.0.js的引用. (2)本例将以类名的方式调用DOM中的特定元素.为此我们使用XUI JavaScript库 (http://xuijs.com/).在head标签中添加script的引用包含该库. (3)创建scr

《PhoneGap移动应用开发手册》——1.6节调整位置传感器更新时间间隔

1.6 调整位置传感器更新时间间隔PhoneGap移动应用开发手册使用getCurrentPosition方法,可以获取以GPS坐标表示的设备位置.本例中,通过设定的间隔持续获取更新信息,以获取当前位置. 实现步骤通过传递一个包含多个参数的可选项,设置时间间隔,提高精确度. (1)创建HTML初始化框架,并添加需求的cordova- 2.0.0.js文件. (4)现在添加onDeviceReady函数执行startWatch方法,代码如下. (5)创建startWatch函数.首先,创建opti

《PhoneGap移动应用开发手册》——1.5节获取设备位置传感器信息

1.5 获取设备位置传感器信息PhoneGap移动应用开发手册位置和使用全球卫星定位系统(GPS)功能,可以使开发者创建动态的实时地图绘制.定位及跟踪应用程序.使用位置的一些方法可以获取位置感知应用程序所需要的信息和属性.只要用户连接到网络(通过移动数据业务或者WIFI),就可以从位置传感器获取其位置信息. 实现步骤使用PhoneGap API的位置功能监视设备的反馈信息,获取相关的位置信息. (1)创建HTML初始化框架,并添加需求脚本文件cordova-2.0.0.js的引用. (2)在Co

《PhoneGap移动应用开发手册》——1.3节调整加速计传感器更新时间间隔

1.3 调整加速计传感器更新时间间隔PhoneGap移动应用开发手册getCurrentAcceleration函数只是获取当它被调用的那个时间点的加速计数据,一次调用返回一个响应对象.本例中将设计一个程序可以设定时间间隔以从加速计持续获取其更新,以监视设备的持续运动. 实现步骤通过对PhoneGap API中的一个可用方法提供另外的参数以设置更新时间间隔. (1)首先,创建HTML初始化框架,并添加需要脚本文件cordova-2.0.0.js的引用. (5)创建startWatch函数.首先,

《PhoneGap移动应用开发手册》——1.1简介

1.1 简介PhoneGap移动应用开发手册随着技术发展,移动设备早已不局限于收发短信和邮件这些简单的功能.它们还可以借助位置传感器.加速计传感器及其他传感器,帮助用户导航和定位. 本章将介绍如何使用PhoneGap API来访问这些传感器,并在应用程序中充分利用这些传感器的功能.

《PhoneGap移动应用开发手册》——导读

目 录 第1章 移动与定位:使用加速计和位置传感器 1.1 简介 1.2 使用加速计检测设备的移动 1.3 调整加速计传感器更新时间间隔 1.4 通过加速计事件更新对象的显示位置 1.5 获取设备位置传感器信息 1.6 调整位置传感器更新时间间隔 1.7 根据位置坐标检索地图数据 1.8 创建可视化罗盘显示设备的移动方向 第2章 文件系统.存储及本地数据库 第3章 处理音频.图像和视频 第4章 处理通讯录 第5章 本地事件 第6章 使用XUI 第7章 使用jQuery Mobile进行用户界面开

《iOS 6核心开发手册(第4版)》——1.6节秘诀:测试触摸

1.6 秘诀:测试触摸 iOS 6核心开发手册(第4版) 屏幕上用于直接操作界面的大多数视图元素都不是矩形.这使触摸检测变得复杂,因为实际的视图矩形的某些部分可能不对应于实际的触摸点.图1-2显示了实际发生的问题.右边的截屏图显示了界面及其基于触摸的子视图,左边的截屏图则显示了每个子视图的实际视图界限.每个屏幕上的圆形周围的淡灰色区域都落在界限内,但是对这些区域的触摸应该不会"碰到"正在处理的视图. iOS会在整个视图框架内感知用户点按.这包括未绘图的区域(比如图1-2中的实际圆形外面