このトピックでは、HTML5 アプリケーションまたはミニアプリを作成する際に使用できる WVMotion クラスの JavaScript API について説明します。これらの API を使用すると、吹くジェスチャーのリッスンやデバイスの振動のトリガーなど、デバイスのモーションをモニターできます。
WVMotion.listenBlow
吹くジェスチャーのリッスンを開始します。
入力パラメーター
[
number] time: (任意) 連続した吹くジェスチャー中に吹くイベントがトリガーされる時間間隔 (秒単位)。iOS では、値の範囲は[0, 1]で、デフォルトは0です。これは、システムが間隔を決定することを意味します。吹くジェスチャーが続くと値は増加します。
コールバックパラメーター
このメソッドにはコールバックパラメーターはありません。リスナーが正常に開始された場合は success コールバックが実行されます。それ以外の場合は failure コールバックが実行されます。
イベントリスニング
motion.blow:リスナーがアクティブなときにユーザーが吹くジェスチャーを実行すると発生します。
イベントパラメーター:
[
number] pass: 吹くジェスチャーの検出値。この値はデバイスによって異なります。iOS では、これは[0, 1]の範囲の値で、吹くジェスチャーが続くと増加します。Android では、この値は常に1です。
document.addEventListener('motion.blow', function(e) {
alert('吹くジェスチャーが検出されました。');
}, false);
window.WindVane.call('WVMotion', 'listenBlow', {}, function(e) {
alert('success');
}, function(e) {
alert('failure:' + JSON.stringify(e));
});
WVMotion.stopListenBlow
吹くジェスチャーのリッスンを停止します。
入力パラメーター
入力パラメーターはありません。
コールバックパラメーター
コールバックパラメーターはありません。success コールバックは常に実行されます。
window.WindVane.call('WVMotion', 'stopListenBlow', {}, function(e) {
alert('success');
});
WVMotion.listenGyro
ジャイロスコープデータのリッスンを開始または停止します。
ジャイロスコープをリッスンすることで、HTML5 ページはデバイスの向きの変化を検出し、それに応じて反応できます。デバイスには、向きを検出できるセンサーが 2 つあります。ジャイロスコープと重力センサーです。ジャイロスコープはデバイスの向きをオイラー角 (ロール、ピッチ、ヨー) として提供し、重力センサーはデバイスの 3 軸に沿った重力成分を測定します。
iOS と Android 間のデータ形式の不整合のため、この API は重力センサーからのデータを返し、クロスプラットフォームの互換性を確保します。その後、HTML5 ページはこのデータからアルゴリズムを使用してデバイスの向きを計算します。
入力パラメーター
[
boolean] on: ジャイロスコープデータのリッスンを開始 (true) または停止 (false) します。[
number] frequency: ジャイロスコープイベント間の最小時間間隔 (ミリ秒単位)。システムは、連続する 2 つのイベント間の実際の間隔がこの値を超えることを保証します。
コールバックパラメーター
コールバックパラメーターはありません。リスナーが正常に開始または停止された場合は success コールバックが実行されます。それ以外の場合は failure コールバックが実行されます。
イベントリスニング
motion.gyro:ジャイロスコープリスナーがアクティブなときにデバイスの向きが変更されると発生します。
イベントパラメーター:
[
number] x: X 軸に沿った重力成分。値の範囲は[-1, 1]です。[
number] y: Y 軸に沿った重力成分。値の範囲は[-1, 1]です。[
number] z: Z 軸に沿った重力成分。値の範囲は[-1, 1]です。
document.addEventListener('motion.gyro', function(e) {
alert('デバイスの向きが変更されました。');
}, false);
var params = {
// ジャイロスコープリスナーを開始するか停止するかを指定します。
on: true,
// ジャイロスコープイベントの時間間隔。
frequency: 100
};
window.WindVane.call('WVMotion', 'listenGyro', params, function(e) {
alert('success');
}, function(e) {
alert('failure:' + JSON.stringify(e));
});
WVMotion.listeningShake
シェイクジェスチャーのリッスンを開始または停止します。
入力パラメーター
[
boolean] on: シェイクジェスチャーのリッスンを開始 (true) または停止 (false) します。[
number] frequency: (任意) シェイクイベント間の最小時間間隔 (ミリ秒単位)。連続する 2 つのイベント間の時間は常にこの値を超えます。デフォルト値は500です。[
number] shakeThreshold: (任意) シェイクのしきい値。このしきい値を超える加速度は、有効なシェイクと見なされます。デフォルト値は1.2です。[
number] shakeNum: (任意) シェイクイベントをトリガーするために必要なシェイクの回数。デフォルト値は1です。
コールバックパラメーター
コールバックパラメーターはありません。リスナーが正常に開始または停止された場合は success コールバックが実行されます。それ以外の場合は failure コールバックが実行されます。
イベントリスニング
motion.shake:リスナーがアクティブなときにユーザーがデバイスをシェイクすると発生します。
イベントパラメーター:
[
number] x: X 軸に沿った加速度。[
number] y: Y 軸に沿った加速度。[
number] z: Z 軸に沿った加速度。
document.addEventListener('motion.shake', function(e) {
alert('シェイクジェスチャーが検出されました。');
}, false);
var params = {
// シェイクジェスチャーのリッスンを開始するか停止するかを指定します。
on: true
};
window.WindVane.call('WVMotion', 'listeningShake', params, function(e) {
alert('success');
}, function(e) {
alert('failure: ' + JSON.stringify(e));
})
WVMotion.vibrate
デバイスを振動させます。
入力パラメーター
[
int] duration: (任意) 振動の持続時間 (ミリ秒単位)。デフォルトの持続時間はシステムによって決定されます。このパラメーターは WindVane for Android でのみ使用でき、すべてのデバイスモデルで機能するとは限りません。
コールバックパラメーター
コールバックパラメーターはありません。success コールバックは常に実行されます。
window.WindVane.call('WVMotion', 'vibrate', {});
var params = {
// 振動の持続時間。
duration: 7000
};
window.WindVane.call('WVMotion', 'vibrate', params);
WVMotion.startAccelerometer
この API は、WindVane for Android 1.0.3.4 以降でのみ使用できます。
加速度データのリッスンを開始します。
入力パラメーター
[
string] interval: (任意) 加速度データコールバックの周波数。デフォルト値は 'normal' です。有効な値:ui: UI 更新に適しています。コールバックは約 60 ms ごとに発生します。
game: ゲーム更新に適しています。コールバックは約 20 ms ごとに発生します。
normal: 標準のコールバック周波数で、約 200 ms に 1 回発生します。
コールバックパラメーター
成功コールバックのパラメーター:
コールバックパラメーターはありません。
失敗コールバックのパラメーター:
[
string] msg: 失敗を説明するメッセージ。
イベントリスニング
WVMotion.Event.accelerometer
新しい加速度データが受信されると発生します。
イベントパラメーター:
[
float] x: X 軸に沿った加速度。[
float] y: Y 軸に沿った加速度。[
float] z: Z 軸に沿った加速度。
document.addEventListener('WVMotion.Event.accelerometer', function (e) {
alert('event accelerometer: ' + JSON.stringify(e.param));
});
var params = {
interval: 'normal'
};
window.WindVane.call('WVMotion', 'startAccelerometer', params, function(e) {
}, function(e) {
alert('startAccelerometer failure: ' + JSON.stringify(e));
});WVMotion.stopAccelerometer
この API は、WindVane for Android 1.0.3.4 以降でのみ使用できます。
加速度データのリッスンを停止します。
入力パラメーター
入力パラメーターはありません。
コールバックパラメーター
コールバックパラメーターはありません。success コールバックは常に実行されます。
window.WindVane.call('WVMotion', 'stopAccelerometer', {});WVMotion.startCompass
この API は、WindVane for Android 1.0.3.4 以降でのみ使用できます。
コンパスデータのリッスンを開始します。
入力パラメーター
[
string] interval: (任意) コンパスデータコールバックの周波数。デフォルト値は 'normal' です。有効な値:ui: UI 更新に適しています。コールバックは約 60 ms ごとに発生します。
game: ゲーム更新に適しています。コールバックは約 20 ms ごとに発生します。
normal: 標準のコールバック周波数で、約 200 ms に 1 回発生します。
コールバックパラメーター
成功コールバックのパラメーター:
コールバックパラメーターはありません。
失敗コールバックのパラメーター:
[
string] msg: 失敗を説明するメッセージ。
イベントリスニング
WVMotion.Event.compass
新しいコンパスデータが受信されると発生します。
イベントパラメーター:
[
float] direction: デバイスが向いている方向と地理的な北との間の角度 (度単位)。値の範囲は [0, 360) です。[
long] timestamp: データがキャプチャされたときのタイムスタンプ。
document.addEventListener('WVMotion.Event.compass', function (e) {
alert('event compass: ' + JSON.stringify(e.param));
});
var params = {
interval: 'normal'
};
window.WindVane.call('WVMotion', 'startCompass', params, function(e) {
}, function(e) {
alert('startCompass failure: ' + JSON.stringify(e));
});WVMotion.stopCompass
この API は、WindVane for Android 1.0.3.4 以降でのみ使用できます。
コンパスデータのリッスンを停止します。
入力パラメーター
入力パラメーターはありません。
コールバックパラメーター
コールバックパラメーターはありません。success コールバックは常に実行されます。
window.WindVane.call('WVMotion', 'stopCompass', {});