html5+ accelerometer-加速度感測器
阿新 • • 發佈:2018-12-14
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
監聽裝置加速度感應器引數
interface Acceleration {
readonly attribute DOMString frequency;
}
說明:
JSON物件,用於設定獲取裝置加速度資訊的引數。
屬性:
-
frequency: _(Number 型別 )_更新加速度資訊間隔時間
監聽器獲取加速度資訊的時間間隔,單位為ms,預設值為500ms
AccelerometerSuccessCallback
獲取裝置加速度資訊成功的回撥函式
void onSuccess ( acceleration ) {
// Get acceleration code.
}
引數:
- 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>