html5+ accelerometer-加速度传感器

accelerometer 加速度传感器

Accelerometer模块管理设备加速度传感器,用于获取设备加速度信息,包括x(屏幕水平方向)、y(垂直屏幕水平方向)、z(垂直屏幕平面方向)三个方向的加速度信息。通过plus.accelerometer获取设备加速度传感器管理对象。

方法:

对象:

回调方法:

权限:

5+功能模块(permissions)

{
// ...
"permissions":{
	// ...
	"Accelerometer": {
		"description": "加速度传感器"
	}
}
}

Acceleration

设备加速度信息对象

interface Acceleration {
	readonly attribute Number xAxis;
	readonly attribute Number yAxis;
	readonly attribute Number zAxis;  
}

说明:

JSON对象,保存获取设备的加速度信息,包括x、y、z三个方向的加速度信息。

属性:

  • xAxis: _(Number 类型 )_x轴方向的加速度

    获取当前设备x轴方向的加速度,浮点型数据,与物理学中的加速度值一致。

  • yAxis: _(Number 类型 )_y轴方向的加速度

    获取当前设备y轴方向的加速度,浮点型数据,与物理学中的加速度值一致。

  • zAxis: _(Number 类型 )_z轴方向的加速度

    获取当前设备z轴方向的加速度,浮点型数据,与物理学中的加速度值一致。

AccelerometerOption

监听设备加速度感应器参数

扫描二维码关注公众号,回复: 3538003 查看本文章
interface Acceleration {
	readonly attribute DOMString frequency;
}

说明:

JSON对象,用于设置获取设备加速度信息的参数。

属性:

  • frequency: _(Number 类型 )_更新加速度信息间隔时间

    监听器获取加速度信息的时间间隔,单位为ms,默认值为500ms

AccelerometerSuccessCallback

获取设备加速度信息成功的回调函数

void onSuccess( acceleration ) {
	// Get acceleration code.
}

参数:

  • acceleration: ( Acceleration ) 必选 设备的加速度信息
    Acceleration类型对象,用于获取各方向的详细加速度值。

返回值:

void : 无

AccelerometerErrorCallback

获取设备加速度信息失败的回调函数

function void onAccelerometerError( Exception error ) {
	// Handle error
	var code = error.code; // 错误编码
	var message = error.message; // 错误描述信息
}

参数:

  • error: ( Exception ) 必选 获取加速度操作的错误信息
    可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。

返回值:

void : 无

<!DOCTYPE HTML>
<html>

	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<meta name="misapplication-tap-highlight" content="no" />
		<meta name="HandheldFriendly" content="true" />
		<meta name="MobileOptimized" content="320" />
		<title>Hello H5+</title>
		<script type="text/javascript">
			function getAcc() {
				outSet('获取设备当前加速度');
				plus.accelerometer.getCurrentAcceleration(function (a) {
					outLine('X轴:' + a.xAxis + '\nY轴:' + a.yAxis + '\nZ轴:' + a.zAxis);
				}, function (e) {
					outLine('获取失败:' + e.message);
				});
			}
			var aid = null;
			function watchAcc() {
				if (aid) {
					return;
				}
				outSet('监听设备加速度变化');
				aid = plus.accelerometer.watchAcceleration(function (a) {
					outSet('监听设备加速度变化\n' + 'X轴:' + a.xAxis + '\nY轴:' + a.yAxis + '\nZ轴:' + a.zAxis);
				}, function (e) {
					outLine('监听失败:' + e.message);
				});
			}
			function watchStop() {
				if (aid) {
					outSet('停止监听设备加速度变化');
					plus.accelerometer.clearWatch(aid);
					aid = null;
				} else {
					outSet('没有监听设备加速度变化');
				}
			}
		</script>
	</head>
	<body>
		<div id="dcontent" class="dcontent">
			<ul class="dlist">
				<li class="ditem" onclick="getAcc()">获取设备当前加速度</li>
				<li class="ditem" onclick="watchAcc()">监听设备加速度变化 </li>
				<li class="ditem" onclick="watchStop()">停止监听设备加速度变化</li>
			</ul>
		</div>
		<div id="output">
			Accelerometer可获取设备加速度传感器信息,包括x轴(屏幕水平方向)、y轴(垂直屏幕水平方向)、z轴(垂直屏幕平面方向)三个方向的加速度信息。
		</div>
	</body>

</html>

猜你喜欢

转载自blog.csdn.net/weixin_41961749/article/details/82968717