| Пакет | flash.sensors |
| Класс | public class Accelerometer |
| Наследование | Accelerometer EventDispatcher Object |
| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Примечание. Проверьте свойство Accelerometer.isSupported, чтобы узнать, поддерживает ли текущая платформа среды выполнения использование этой функции. Хотя класс Accelerometer и его элементы доступны для версий среды выполнения, перечисленных для каждой записи API, доступность данной функции определяется текущей платформой среды выполнения. Например, можно скомпилировать код с использованием свойств класса Accelerometer для Flash Player 10.1, но необходимо проверить свойство Accelerometer.isSupported, чтобы проверить доступность класса Accelerometer на текущей платформе, в которой развернута среда выполнения Flash Player. Если свойство Accelerometer.isSupported возвращает значение true во время выполнения, то текущая платформа поддерживает класс Accelerometer.
Поддержка в профилях AIR: эта функция поддерживается только на мобильных устройствах. Она не поддерживается на компьютерах или в среде AIR для телевизионных устройств. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «Поддержка в профилях AIR».
Дополнительно
Связанные элементы API
| Свойство | Определено | ||
|---|---|---|---|
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
| isSupported : Boolean [статические] [только для чтения]
Свойство isSupported имеет значение true, если датчик акселерометра доступен на устройстве, в противном случае оно имеет значение false. | Accelerometer | ||
| muted : Boolean [только для чтения]
Указывает, запретил ли пользователь доступ к акселерометру: нет доступа (true), или доступ разрешен (false). | Accelerometer | ||
| Метод | Определено | ||
|---|---|---|---|
Создает новый экземпляр Accelerometer. | Accelerometer | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | |
![]() |
Посылает событие в поток событий. | EventDispatcher | |
![]() |
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
Для установки требуемых интервалов обновления служит метод setRequestedUpdateInterval. | Accelerometer | ||
![]() |
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
![]() |
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher | |
| Событие | Сводка | Определено | ||
|---|---|---|---|---|
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | ||
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | EventDispatcher | ||
| Отправляется, когда акселерометр изменяет свое состояние. | Accelerometer | |||
| Событие update отправляется в ответ на получение обновлений от датчика акселерометра. | Accelerometer | |||
isSupported | свойство |
isSupported:Boolean [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Свойство isSupported имеет значение true, если датчик акселерометра доступен на устройстве, в противном случае оно имеет значение false.
Реализация
public static function get isSupported():BooleanПример ( Использование этого примера )
Accelerometer.isSupported, чтобы проверить наличие поддержки класса Accelerometer во время выполнения. Если текущая платформа поддерживает возможности класса Accelerometer, то для объекта Accelerometer добавляется прослушиватель событий, и связанный с ним обработчик вводит в текстовое поле метку времени и значения ускорения. В противном случае в текстовом поле появляется сообщение о том, что текущая среда не поддерживает данную функцию.
var myTextField:TextField = new TextField();
myTextField.width = 200;
addChild(myTextField);
var acc1:Accelerometer = new Accelerometer();
var isSupported:Boolean = Accelerometer.isSupported;
checksupport();
function checksupport():void {
if (isSupported) {
myTextField.text = "Accelerometer feature supported";
acc1.addEventListener(AccelerometerEvent.UPDATE, updateHandler);
} else {
myTextField.text = "Accelerometer feature not supported";
}
}
function updateHandler(evt:AccelerometerEvent):void {
myTextField.text = String("at: " + evt.timestamp + "\n" + "acceleration X: " + evt.accelerationX + "\n" + "acceleration Y: " + evt.accelerationY + "\n" + "acceleration Z: " + evt.accelerationZ);
}
muted | свойство |
muted:Boolean [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 2, Flash Player 10.1 |
Указывает, запретил ли пользователь доступ к акселерометру: нет доступа (true), или доступ разрешен (false). При изменении этого значения отправляется событие status.
Реализация
public function get muted():BooleanСвязанные элементы API
Accelerometer | () | Конструктор |
public function Accelerometer()| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Создает новый экземпляр Accelerometer.
setRequestedUpdateInterval | () | метод |
public function setRequestedUpdateInterval(interval:Number):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Для установки требуемых интервалов обновления служит метод setRequestedUpdateInterval. Интервал времени измеряется в миллисекундах. Интервал обновления предназначен только в качестве ориентира для экономии заряда аккумулятора. Фактическое время между обновлениями акселерометра может быть больше или меньше этого значения. Любое изменение в интервале обновления затрагивает все зарегистрированные прослушиватели. Класс Accelerometer можно использовать, не вызывая метод setRequestedUpdateInterval(). В этом случае приложение получает обновления с интервалом, используемым устройством по умолчанию.
Параметры
interval:Number — Требуемый интервал обновления. Если для interval установлено значение 0, используется минимальный поддерживаемый интервал обновления.
|
Выдает
ArgumentError — Значение свойства interval меньше нуля.
|
status | Событие |
flash.events.StatusEventсвойство StatusEvent.type =
flash.events.StatusEvent.STATUS| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Отправляется, когда акселерометр изменяет свое состояние.
Примечание. На некоторых устройствах акселерометр всегда доступен. На таких устройствах объект Accelerometer никогда не отправляет событие status.
type для объекта события status.
Это событие имеет следующие свойства:
| Свойство | Значение |
|---|---|
bubbles | false |
cancelable | false; поведение по умолчанию, подлежащее отмене, не определено. |
code | Описание состояния объекта. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
level | Категория сообщения, например, status, warning или error. |
target | Объект, сообщающий свое состояние. |
update | Событие |
flash.events.AccelerometerEventсвойство AccelerometerEvent.type =
flash.events.AccelerometerEvent.UPDATE| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Событие update отправляется в ответ на получение обновлений от датчика акселерометра. Это событие отправляется при следующих обстоятельствах:
- когда добавляется новая функция прослушивателя с помощью метода
addEventListener(), это событие отправляется один раз всем зарегистрированным прослушивателям для того, чтобы передать текущее значение акселерометра; - каждый раз при получении обновлений акселерометра от платформы через установленные устройством интервалы;
- каждый раз, когда приложение пропускает изменение показаний акселерометра (например, когда среда выполнения восстанавливается после режима ожидания).
type для объекта события AccelerometerEvent.
Это событие имеет следующие свойства:
| Свойство | Значение |
|---|---|
bubbles | false |
cancelable | false; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
timestamp | Метка времени обновления объекта Accelerometer. |
accelerationX | Значение ускорения в Галах (9,8 м/с2) по оси X. |
accelerationY | Значение ускорения в Галах (9,8 м/с2) по оси Y. |
accelerationZ | Значение ускорения в Галах (9,8 м/с2) по оси Z. |
update акселерометра. События update акселерометра указывают на перемещение устройства.
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.AccelerometerEvent;
import flash.sensors.Accelerometer;
public class AccelerometerTest extends Sprite
{
private var ball:Sprite;
private var accelerometer:Accelerometer;
private var xSpeed:Number = 0;
private var ySpeed:Number = 0;
private const RADIUS = 20;
public final function AccelerometerTest()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
createBall();
if (Accelerometer.isSupported)
{
accelerometer = new Accelerometer();
accelerometer.addEventListener(AccelerometerEvent.UPDATE, accUpdateHandler);
stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
}
private final function createBall():void
{
ball = new Sprite();
ball.graphics.beginFill(0xFF0000);
ball.graphics.drawCircle(0, 0, RADIUS);
ball.cacheAsBitmap = true;
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;
addChild(ball);
}
private final function enterFrameHandler(event:Event):void
{
event.stopPropagation();
moveBall();
}
private final function moveBall():void
{
var newX:Number = ball.x + xSpeed;
var newY:Number = ball.y + ySpeed;
if (newX < 20)
{
ball.x = RADIUS;
xSpeed = 0;
}
else if (newX > stage.stageWidth - RADIUS)
{
ball.x = stage.stageWidth - RADIUS;
xSpeed = 0;
}
else
{
ball.x += xSpeed;
}
if (newY < RADIUS)
{
ball.y = RADIUS;
ySpeed = 0;
}
else if (newY > stage.stageHeight - RADIUS)
{
ball.y = stage.stageHeight - RADIUS;
ySpeed = 0;
}
else
{
ball.y += ySpeed;
}
}
private final function accUpdateHandler(event:AccelerometerEvent):void
{
xSpeed -= event.accelerationX * 2;
ySpeed += event.accelerationY * 2;
}
}
}
Tue Jun 12 2018, 11:34 AM Z
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства