Пожалуйста, обратите внимание, что акселерометр разряжает батарею устройства, и нужно использовать его только при необходимости.
Акселерометры устройства включаются, когда Accelerometer object
Протестировать работу Акселерометра возможно только на мобильном устройстве. При запуске приложения на компьютере объект будет возвращать значения нуля.
Положение устройства
Объект Акселерометр имеет всего одно событие Device orientation changed.
Device orientation changed (Изменение ориентации устройства) — это событие выполняется, когда изменяется ориентация устройства. В этом событии вы можете получить значение новой ориентации с помощью выражения Device orientation.
Device orientation (Ориентация устройства) — это выражение возвращает текущую ориентацию устройства. Новая ориентация может быть обнаружена путем активации события Device orientation changed.
Ориентация устройства возвращает значения от 0 до 6:
- 0 — Unknown (Неизвестно — происходит, если вы не встряхнули устройство, или если запустили приложение на компьютере)
- 1 — Portrait (Портрет)
- 2 — Portrait upside down (Портрет с ног на голову)
- 3 — Landscape left (Пейзаж слева)
- 4 — Landscape right (Пейзаж справа)
- 5 — Face up (Лицевой стороной вверх)
- 6 — Face down (Лицевой стороной вниз)
На Android устройстве значение ориентации возвращает только 0 в положении «портрет» (это странно, должно быть 1) и 3 в положении «пейзаж», видимо, это потому что у андройда существует только два положения как не крути :-)
Основываясь на значениях ориентации устройства можно создавай соответствующие события:
Что бы сравнить параметр Device orientation с каким либо числом воспользуйтесь событием Compare two general values от объекта Special
Движения объекта при наклоне устройства
Accelerometer object
Direct values (Прямые значения)
- Х Acceleration
- У Acceleration
- Z Acceleration
Акселерометры не точные приборы, значения сильно колеблются, даже если вы не прикасайтесь к устройству.
Х Acceleration
Возвращает положительные значения при наклоне устройства вправо и отрицательные при наклоне влево.
Исходя из этого значения можно создать движение объекта по оси X:
Это также работает при повороте устройства
Y Acceleration
Возвращает положительные значения в положении «портрет с ног на голову» и отрицательные в положении «портрет».
Z Acceleration
Возвращает положительные значения при наклоне устройства от себя и отрицательные при наклоне к себе.
Так же ещё можно получить значения
Gravity isolated values (Значения без учета гравитации) — эти выражения возвращают значения от акселерометра исключая фактор тяжести. Они более стабильны чем Direct values.
Instantaneous values (Мгновенные значения) — эти выражения возвращают значения от акселерометра от последней оценки.
Скачать Accelerometer.apk для Android