Paket | flash.sensors |
Klass | public class Accelerometer |
Arv | Accelerometer EventDispatcher Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Obs! Använd egenskapen Accelerometer.isSupported
om du vill testa att funktionen kan användas i körtidsmiljön. Trots att Accelerometer-klassen och dess medlemmar är tillgängliga för körtidsversionerna som anges för varje API-post, avgör körtidsversionens aktuella miljö om funktionen kan användas. Du kan t.ex. kompilera kod med Accelerometer-klassens egenskaper för Flash Player 10.1, men du måste använda egenskapen Accelerometer.isSupported
för att testa om Accelerometer-funktionen är tillgänglig i den aktuella miljön där Flash Player körtidsmodulen används. Accelerometer-stöd finns om Accelerometer.isSupported
är true
vid körningstid.
Stöd för AIR-profiler: Den här funktionen stöds bara på mobilenheter. Den stöds inte på klientdatorer eller enheter med AIR for TV. På sidan om stöd för AIR-profiler hittar du mer information om API-stöd för flera profiler.
Lär dig mer
Michael Chaize: Become an AIR Pilot (Bli en AIR-pilot)
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
isSupported : Boolean [statisk] [skrivskyddad]
Egenskapen isSupported är true om accelerometersensorn är tillgänglig på enheten, och i annat fall är värdet false. | Accelerometer | ||
muted : Boolean [skrivskyddad]
Anger om användaren har nekat åtkomst till accelerometern (true) eller tillåtit åtkomst (false). | Accelerometer |
Metod | Definieras med | ||
---|---|---|---|
Skapar en ny Accelerometer-instans. | Accelerometer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | EventDispatcher | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Metoden setRequestedUpdateInterval används för att ange önskat tidsintervall för uppdateringar. | Accelerometer | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
Händelse | Sammanfattning | Definieras med | ||
---|---|---|---|---|
[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt. | EventDispatcher | |||
[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt. | EventDispatcher | |||
Skickas när en accelerometers status ändras. | Accelerometer | |||
Uppdateringshändelsen skickas som svar på uppdateringar från accelerometersensorn. | Accelerometer |
isSupported | egenskap |
isSupported:Boolean
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Egenskapen isSupported
är true
om accelerometersensorn är tillgänglig på enheten, och i annat fall är värdet false
.
Implementering
public static function get isSupported():Boolean
Exempel ( Så här använder du exemplet )
Accelerometer.isSupported
för att testa om Accelerometer-stöd finns vid körningstid. Om den aktuella miljön har stöd för Accelerometer-funktionen, läggs en händelseavlyssnare till i Accelerometer-objektet och den associerade hanteraren fyller i tidsstämpeln och accelerationsvärdena i textfältet. Annars anger textfältet att funktionen inte stöds i den aktuella miljön.
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 | egenskap |
muted:Boolean
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2, Flash Player 10.1 |
Anger om användaren har nekat åtkomst till accelerometern (true
) eller tillåtit åtkomst (false
). Om det här värdet ändras skickas en status
-händelse.
Implementering
public function get muted():Boolean
Relaterade API-element
Accelerometer | () | Konstruktor |
public function Accelerometer()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Skapar en ny Accelerometer-instans.
setRequestedUpdateInterval | () | metod |
public function setRequestedUpdateInterval(interval:Number):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Metoden setRequestedUpdateInterval
används för att ange önskat tidsintervall för uppdateringar. Tidsintervallet mäts i millisekunder. Uppdateringsintervallet används bara som ett tips för att spara på batteriet. Den faktiska tiden mellan accelerationsuppdateringar kan vara längre eller kortare än det här värdet. Förändringar av uppdateringsintervallet påverkar alla registrerade avlyssnare. Du kan använda klassen Accelerometer utan att anropa metoden setRequestedUpdateInterval()
. I det här fallet tar programmet emot uppdateringar baserat på enhetens standardintervall.
Parametrar
interval:Number — Det begärda uppdateringsintervallet. Om interval anges som 0 används det minsta uppdateringsintervall som stöds.
|
Utlöser
ArgumentError — Angivet interval är mindre än noll.
|
status | Händelse |
flash.events.StatusEvent
egenskap StatusEvent.type =
flash.events.StatusEvent.STATUS
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Skickas när en accelerometers status ändras.
Obs! På vissa enheter är accelerometern alltid tillgänglig. På sådana enheter skickar ett Accelerometer-objekt aldrig någon status
-händelse.
status
-händelseobjekts type
-egenskap.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
kod | En beskrivning av objektets status. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
nivå | Meddelandets kategori, till exempel "status" , "warning" eller "error" . |
target | Objektet rapporterar status. |
update | Händelse |
flash.events.AccelerometerEvent
egenskap AccelerometerEvent.type =
flash.events.AccelerometerEvent.UPDATE
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2, Flash Player 10.1, Flash Lite 4 |
update
-händelsen skickas som svar på uppdateringar från accelerometersensorn. Händelsen skickas under följande förhållanden:
- När en ny avlyssnarfunktion kopplas via
addEventListener()
levereras den här händelsen en gång till alla registrerade avlyssnare med det aktuella värdet för accelerometern. - Så fort någon accelerometeruppdatering tas emot från plattformen med de intervall som enheten anger.
- När programmet missar en förändring i accelerometern (till exempel om körningen återupptas efter inaktivitet).
type
-egenskapen i ett AccelerometerEvent
-händelseobjekt.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
timestamp | Tidsstämpeln för Accelerometer-uppdateringen. |
accelerationX | Accelerationsvärdet i G (9,8 m/sek/sek) längs x-axeln. |
accelerationY | Accelerationsvärdet i G (9,8 m/sek/sek) längs y-axeln. |
accelerationZ | Accelerationsvärdet i G (9,8 m/sek/sek) längs z-axeln. |
update
-händelser. Accelerometer update
-händelserna anger enhetens rörelse.
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, 01:40 PM Z