Pakiet | flash.sensors |
Klasa | public class Accelerometer |
Dziedziczenie | Accelerometer EventDispatcher Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Uwaga: Właściwość Accelerometer.isSupported
umożliwia sprawdzenie, czy ta funkcjonalność jest dostępna w bieżącym środowisku wykonawczym. Chociaż klasa Accelerometer i jej elementy są dostępne we wszystkich wersjach środowisk wykonawczych wymienionych przy opisach odpowiednich elementów interfejsu API, faktyczna dostępność funkcjonalności zależy od bieżącego środowiska wykonawczego. Możliwe jest na przykład skompilowanie kodu korzystającego z właściwości klasy Accelerometer z przeznaczeniem dla środowiska Flash Player 10.1, ale konieczne jest użycie w kodzie właściwości Accelerometer.isSupported
w celu sprawdzenia dostępności funkcji przyspieszeniomierza na konkretnej platformie, na której działa środowisko wykonawcze Flash Player. Jeśli w czasie wykonywania właściwość Accelerometer.isSupported
ma wartość true
, przyspieszeniomierz jest obsługiwany.
Obsługa profilów AIR: Ta funkcja jest obsługiwana tylko na urządzeniach przenośnych. Nie jest obsługiwana na komputerach stacjonarnych ani na urządzeniach telewizyjnych ze środowiskiem AIR. Więcej informacji o obsłudze elementów interfejsu API w różnych profilach można znaleźć w sekcji Obsługa profilów aplikacji AIR.
Więcej informacji
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
isSupported : Boolean [statyczny] [tylko do odczytu]
Właściwość isSupported ma wartość true, jeśli w urządzeniu jest dostępny przyspieszeniomierz; w przeciwnym razie ma wartość false. | Accelerometer | ||
muted : Boolean [tylko do odczytu]
Określa, czy użytkownik zabronił dostępu do przyspieszeniomierza (true), czy zezwolił na dostęp (false). | Accelerometer |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Tworzy nową instancję klasy Accelerometer. | Accelerometer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu. | EventDispatcher | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń. | EventDispatcher | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Usuwa detektor z obiektu EventDispatcher. | EventDispatcher | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Metoda setRequestedUpdateInterval służy do ustawiania żądanej częstotliwości uaktualnień. | Accelerometer | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object | ||
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych. | EventDispatcher |
Zdarzenie | Podsumowanie | Zdefiniowane przez | ||
---|---|---|---|---|
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny. | EventDispatcher | |||
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny. | EventDispatcher | |||
Wywoływane po zmianie stanu przyspieszeniomierza. | Accelerometer | |||
Zdarzenie update jest wywoływane w odpowiedzi na aktualizacje informacji z czujnika przyspieszeniomierza. | Accelerometer |
isSupported | właściwość |
isSupported:Boolean
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Właściwość isSupported
ma wartość true
, jeśli w urządzeniu jest dostępny przyspieszeniomierz; w przeciwnym razie ma wartość false
.
Implementacja
public static function get isSupported():Boolean
Przykład ( Sposób korzystania z tego przykładu )
Accelerometer.isSupported
w celu sprawdzenia, w czasie wykonywania, czy dostępny jest przyspieszeniomierz. Jeśli bieżące środowisko obsługuje przyspieszeniomierz, do obiektu Accelerometer dodawany jest detektor zdarzeń, a skojarzona z nim funkcja obsługi zapełnia pole tekstowe wartościami znaczników czasu i przyspieszenia. W przeciwnym razie w polu tekstowym wyświetlana jest informacja o niedostępności funkcjonalności w bieżącym środowisku.
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 | właściwość |
muted:Boolean
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Player 10.1 |
Określa, czy użytkownik zabronił dostępu do przyspieszeniomierza (true
), czy zezwolił na dostęp (false
). Jeśli wartość ulegnie zmianie, wywołane zostanie zdarzenie status
.
Implementacja
public function get muted():Boolean
Powiązane elementy interfejsu API
Accelerometer | () | Konstruktor |
public function Accelerometer()
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Tworzy nowe wystąpienie klasy Accelerometer.
setRequestedUpdateInterval | () | metoda |
public function setRequestedUpdateInterval(interval:Number):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Metoda setRequestedUpdateInterval
służy do ustawiania żądanej częstotliwości uaktualnień. Odstęp czasu jest mierzony w milisekundach. Odstęp między aktualizacjami jest jedynie wartością orientacyjną, której uwzględnienie ma na celu ograniczenie zużycia energii. Rzeczywisty odstęp czasu między uaktualnieniami danych o przyspieszeniu może być większy lub mniejszy od tej wartości. Dowolna zmiana w odstępie między uaktualnieniami wpływa na wszystkie zarejestrowane detektory zdarzeń. Klasę Accelerometer można użyć bez wywoływania metody setRequestedUpdateInterval()
. W tym przypadku aplikacja odbierze uaktualnienia na podstawie domyślnego odstępu czasu dla urządzenia.
Parametry
interval:Number — Żądany odstęp między uaktualnieniami. Jeśli jest ustawiona wartość 0 właściwości interval , jest używany najmniejszy obsługiwany odstęp czasu aktualizacji.
|
Zgłasza
ArgumentError — Podana wartość odstępu (interval ) jest mniejsza od zera.
|
status | Zdarzenie |
flash.events.StatusEvent
właściwość StatusEvent.type =
flash.events.StatusEvent.STATUS
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Wywoływane po zmianie statusu przyspieszeniomierza.
Uwaga: Na niektórych urządzeniach przyspieszeniomierz jest zawsze dostępny. Na takich urządzeniach obiekt Accelerometer nigdy nie wywołuje zdarzenia status
.
type
obiektu zdarzenia status
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
code | Opis stanu obiektu. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
level | Kategoria komunikatu, np. "status" , "warning" lub "error" . |
target | Obiekt informujący o swoim stanie. |
update | Zdarzenie |
flash.events.AccelerometerEvent
właściwość AccelerometerEvent.type =
flash.events.AccelerometerEvent.UPDATE
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Zdarzenie update
jest wywoływane w odpowiedzi na uaktualnienia informacji z czujnika przyspieszeniomierza. Zdarzenie jest wywoływane w następujących okolicznościach:
- Gdy za pomocą metody
addEventListener()
zostanie podłączona nowa funkcja detektora zdarzeń, to zdarzenie jest kierowane jeden raz do wszystkich zarejestrowanych detektorów, przez co otrzymują one aktualne wartości danych z przyspieszeniomierza. - Za każdym razem, gdy z platformy odebrane zostanie uaktualnienie danych z przyspieszeniomierza (odbywa się to z częstotliwością określoną przez urządzenie).
- Za każdym razem, gdy aplikacja pominie zmianę stanu przyspieszeniomierza (np. środowisko wykonawcze wznawia działanie po okresie bezczynności).
type
obiektu zdarzenia AccelerometerEvent
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
timestamp | Znacznik czasu aktualizacji danych przyspieszeniomierza. |
accelerationX | Wartość przyspieszenia w g (9,8 m/s/s) wzdłuż osi x. |
accelerationY | Wartość przyspieszenia w g (9,8 m/s/s) wzdłuż osi y. |
accelerationZ | Wartość przyspieszenia w g (9,8 m/s/s) wzdłuż osi z. |
update
z przyspieszeniomierza. Zdarzenia update
z przyspieszeniomierza sygnalizują ruch urządzenia.
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, 12:06 PM Z