Pakket | flash.sensors |
Klasse | public class Accelerometer |
Overerving | Accelerometer EventDispatcher Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Opmerking: Gebruik de eigenschap Accelerometer.isSupported
om te testen of de runtimeomgeving ondersteuning biedt voor deze functie. Hoewel de klasse Accelerometer en de leden hiervan toegankelijk zijn voor de runtimeversies die bij elke API-ingang staan vermeld, bepaalt de huidige runtimeomgeving of deze functie beschikbaar is. U kunt bijvoorbeeld code compileren met de eigenschappen van de klasse Accelerometer voor Flash Player 10.1, maar u moet de eigenschap Accelerometer.isSupported
gebruiken om te testen of de functie Accelerometer beschikbaar is in de huidige implementatie-omgeving voor de Flash Player-runtime. Als Accelerometer.isSupported
in de runtime de waarde true
heeft, is er momenteel ondersteuning voor de versnellingsmeter.
AIR-profielondersteuning: deze functie wordt alleen ondersteund op mobiele apparaten. Deze functie wordt niet ondersteund op het bureaublad of bij AIR for TV-apparaten. Zie AIR-profielondersteuning voor meer informatie over API-ondersteuning voor meerdere profielen.
Meer informatie
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
isSupported : Boolean [statisch] [alleen-lezen]
De eigenschap isSupported wordt ingesteld op true als de sensor van de versnellingsmeter beschikbaar is op het apparaat. Als dit niet het geval is, wordt de eigenschap ingesteld op false. | Accelerometer | ||
muted : Boolean [alleen-lezen]
Geeft op of de gebruiker toegang tot de versnellingsmeter heeft geweigerd (true) of toegestaan (false). | Accelerometer |
Methode | Gedefinieerd door | ||
---|---|---|---|
Hiermee wordt een nieuwe instantie Accelerometer gemaakt. | Accelerometer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registreert een gebeurtenislistenerobject bij een object EventDispatcher, zodat de listener een melding van een gebeurtenis ontvangt. | EventDispatcher | ||
Verzendt een gebeurtenis naar de gebeurtenisstroom. | EventDispatcher | ||
Controleert of het object EventDispatcher listeners heeft geregistreerd voor een specifiek type gebeurtenis. | EventDispatcher | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Verwijdert een listener uit het object EventDispatcher. | EventDispatcher | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
De methode setRequestedUpdateInterval wordt gebruikt om het tijdsinterval voor updates in te stellen. | Accelerometer | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object | ||
Controleert of een gebeurtenislistener is geregistreerd bij dit object EventDispatcher of een van de voorouders voor het opgegeven type gebeurtenis. | EventDispatcher |
Gebeurtenis | Overzicht | Gedefinieerd door | ||
---|---|---|---|---|
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de besturingssysteemfocus krijgt en actief wordt. | EventDispatcher | |||
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de systeemfocus verliest en inactief wordt. | EventDispatcher | |||
Verzonden wanneer er zich een wijziging voordoet in de status van de versnellingsmeter. | Accelerometer | |||
De update-gebeurtenis wordt verzonden als antwoord op updates van de sensor van de versnellingsmeter. | Accelerometer |
isSupported | eigenschap |
isSupported:Boolean
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2, Flash Player 10.1, Flash Lite 4 |
De eigenschap isSupported
wordt ingesteld op true
als de sensor van de versnellingsmeter beschikbaar is op het apparaat. Als dit niet het geval is, wordt de eigenschap ingesteld op false
.
Implementatie
public static function get isSupported():Boolean
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
Accelerometer.isSupported
gebruikt om te testen of er ondersteuning voor de versnellingsmeter is. Als de huidige omgeving ondersteuning biedt voor de functie Accelerometer, wordt er een gebeurtenislistener toegevoegd aan het Accelerometer-object en vult de hieraan gekoppelde handler het tekstveld met de tijdstempel en de versnellingswaarden. Als dit niet het geval is, geeft het tekstveld aan dat de huidige omgeving geen ondersteuning biedt voor de functie.
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 | eigenschap |
muted:Boolean
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2, Flash Player 10.1 |
Geeft op of de gebruiker toegang tot de versnellingsmeter heeft geweigerd (true
) of toegestaan (false
). Wanneer deze waarde verandert, wordt een gebeurtenis status
verzonden.
Implementatie
public function get muted():Boolean
Verwante API-elementen
Accelerometer | () | Constructor |
public function Accelerometer()
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Hiermee wordt een nieuwe instantie Accelerometer gemaakt.
setRequestedUpdateInterval | () | methode |
public function setRequestedUpdateInterval(interval:Number):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2, Flash Player 10.1, Flash Lite 4 |
De methode setRequestedUpdateInterval
wordt gebruikt om het tijdsinterval voor updates in te stellen. Het tijdsinterval wordt gemeten in milliseconden. Het update-interval wordt alleen gebruikt als een hint om batterijvermogen te conserveren. De werkelijke tijd tussen versnellingsupdates kan groter of kleiner zijn dan deze waarde. Elke wijziging in de update-interval beïnvloedt alle geregistreerde listeners. U kunt de Accelerometer-klasse gebruiken zonder de setRequestedUpdateInterval()
-methode op te roepen. In dat geval ontvangt de toepassing updates op basis van de standaardinterval van het apparaat.
Parameters
interval:Number — Het aangevraagde update-interval. Als de waarde voor interval is ingesteld op 0, wordt het minimaal ondersteunde bijwerkingsinterval gebruikt.
|
Gegenereerde uitzondering
ArgumentError — Het opgegeven interval is minder dan nul.
|
status | Gebeurtenis |
flash.events.StatusEvent
eigenschap StatusEvent.type =
flash.events.StatusEvent.STATUS
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Verzonden wanneer er zich een wijziging voordoet in de status van de versnellingsmeter.
Opmerking: Op sommige apparaten is de versnellingsmeter altijd beschikbaar. Op deze apparaten verzendt het Accelerometer-object nooit een status
-gebeurtenis.
type
van een gebeurtenisobject status
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
code | Beschrijving van de status van het object. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
level | De categorie van het bericht, zoals "status" , "warning" of "error" . |
target | Het object dat zijn status rapporteert. |
update | Gebeurtenis |
flash.events.AccelerometerEvent
eigenschap AccelerometerEvent.type =
flash.events.AccelerometerEvent.UPDATE
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 2, Flash Player 10.1, Flash Lite 4 |
De update
-gebeurtenis wordt verzonden als antwoord op updates van de sensor van de versnellingsmeter. De gebeurtenis wordt verzonden in de volgende omstandigheden:
- Wanneer een nieuwe listenerfunctie wordt gekoppeld via
addEventListener()
, wordt deze gebeurtenis eenmaal aan alle geregistreerde listeners geleverd om de huidige waarde van de versnellingsmeter op te geven. - Wanneer updates van de versnellingsmeter worden verkregen via het platform op door het apparaat bepaalde intervals.
- Wanneer de toepassing een wijziging in de versnellingsmeter overslaat (bijvoorbeeld wanneer de uitvoering wordt hervat nadat deze inactief is geweest).
type
van een AccelerometerEvent
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
timestamp | Het tijdsstempel van de update voor de versnellingsmeter. |
accelerationX | De acceleratiewaarde in G (9.8m/sec/sec) langs de x-as. |
accelerationY | De acceleratiewaarde in G (9.8m/sec/sec) langs de y-as. |
accelerationZ | De acceleratiewaarde in G (9.8m/sec/sec) langs de z-as. |
update
-gebeurtenissen voor de versnellingsmeter. De update
-gebeurtenissen voor de versnellingsmeter geven de beweging van het apparaat aan.
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; } } }
Wed Jun 13 2018, 11:42 AM Z