Пример работы с акселерометром в JavaScript

  1. const AccelerationXElement = document.getElementById("acceleration-x");
  2. const AccelerationYElement = document.getElementById("acceleration-y");
  3. const AccelerationZElement = document.getElementById("acceleration-z");
  4. const AccelerationMaxElement = document.getElementById("acceleration-max");
  5.  
  6. function onMotionChange(e) {
  7.      const acceleration = e.accelerationIncludingGravity;
  8.      let x, y, z;
  9.      [x, y, z] = [acceleration.x, acceleration.y, acceleration.z];
  10.      const oldMax = parseFloat(AccelerationMaxElement.innerText);
  11.      const maxValue = Math.max(x, y, z, oldMax);
  12.      [
  13.        AccelerationXElement.innerText,
  14.        AccelerationYElement.innerText,
  15.        AccelerationZElement.innerText,
  16.        AccelerationMaxElement.innerText
  17.      ] = [x.toFixed(2), y.toFixed(2), z.toFixed(2), maxValue.toFixed(2)];
  18. }
  19. window.addEventListener('devicemotion', onMotionChange, true);
  1. <div>
  2.     <p>Acceleration in meter per second<sup>2</sup></p>
  3.     <div id="acceleration-x">0</div>
  4.     <div id="acceleration-y">0</div>
  5.     <div id="acceleration-z">0</div>
  6.     <div id="acceleration-max">0</div>
  7. </div>

Acceleration in meter per second2

0
0
0
0
Пример кода вызова API-функции для получения значения данных об ускорении от акселерометра.
Применение: выравнивание изображения(кадра) относительно вектора силы гравитации, управление в играх, определять угол наклона, ускорение, которое возникает в последствии действия вибрации, определять характер движения

Реклама

Мы в соцсетях

tw tg yt gt