Пример работы с акселерометром в JavaScript
- const AccelerationXElement = document.getElementById("acceleration-x");
- const AccelerationYElement = document.getElementById("acceleration-y");
- const AccelerationZElement = document.getElementById("acceleration-z");
- const AccelerationMaxElement = document.getElementById("acceleration-max");
- function onMotionChange(e) {
- const acceleration = e.accelerationIncludingGravity;
- let x, y, z;
- [x, y, z] = [acceleration.x, acceleration.y, acceleration.z];
- const oldMax = parseFloat(AccelerationMaxElement.innerText);
- const maxValue = Math.max(x, y, z, oldMax);
- [
- AccelerationXElement.innerText,
- AccelerationYElement.innerText,
- AccelerationZElement.innerText,
- AccelerationMaxElement.innerText
- ] = [x.toFixed(2), y.toFixed(2), z.toFixed(2), maxValue.toFixed(2)];
- }
- window.addEventListener('devicemotion', onMotionChange, true);
- <div>
- <p>Acceleration in meter per second<sup>2</sup></p>
- <div id="acceleration-x">0</div>
- <div id="acceleration-y">0</div>
- <div id="acceleration-z">0</div>
- <div id="acceleration-max">0</div>
- </div>
Acceleration in meter per second2
0
0
0
0
Пример кода вызова API-функции для получения значения данных об ускорении от акселерометра.
Применение: выравнивание изображения(кадра) относительно вектора силы гравитации, управление в играх, определять угол наклона, ускорение, которое возникает в последствии действия вибрации, определять характер движения
Применение: выравнивание изображения(кадра) относительно вектора силы гравитации, управление в играх, определять угол наклона, ускорение, которое возникает в последствии действия вибрации, определять характер движения