自身の制作したパズルゲームでは、操作時にデバイスの振動を発生させるために、Vibration APIというAPIを利用しています。
この処理は振動に対応していないデバイスやiPhoneなどでは利用できません。
navigator.vibrate(10);
// 0.01秒間 デバイスが振動
この処理によって、対応するデバイスで10msの振動が発生します。
vibrate関数の引数に任意のmsを入れることで、その時間だけ振動が発生します。
msとは、通常の秒の1/1000であるミリ秒のことを指します。
navigator.vibrate([10, 20, 10]);
/*
0.01秒間 デバイスが振動、
0.02秒間 待機、
0.01秒間 デバイスが振動
*/
また、このように複数の引数を渡すことで、
奇数番目の引数が振動の持続時間、偶数番目の引数が振動の間隔、
といった処理が可能です。
JavaScriptの関数として使用する例はこちらです。
振動が利用可能かどうかを検証してから実行しています。
function vibration(duration) {
if (navigator.vibrate) {
navigator.vibrate(duration);
}
}
vibration(10);
WebKitを使用しているWebブラウザはこの処理を利用できません。
(iOS上、Android上の一部のブラウザ)
また、振動に対応していないデバイスでは利用できません。
(ほとんどのPC、タブレット、一部のスマートフォンなど)