Pacchetto | flash.sensors |
Classe | public class Accelerometer |
Ereditarietà | Accelerometer EventDispatcher Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Nota: utilizzate la proprietà Accelerometer.isSupported
per testare la capacità dell'ambiente runtime di utilizzare questa funzionalità. Anche se la classe Accelerometer e i relativi membri sono accessibili alle versioni runtime indicate per ciascuna voce di API, è l'ambiente corrente del runtime a determinare la disponibilità di questa funzionalità. Ad esempio, potete compilare un codice utilizzando le proprietà della classe Accelerometer per Flash Player 10.1, ma dovete utilizzare la proprietà Accelerometer.isSupported
per verificare la disponibilità della funzionalità Accelerometer nell'ambiente di distribuzione corrente del runtime Flash Player. Se Accelerometer.isSupported
è true
in fase runtime, il supporto Accelerometer è presente.
Supporto profili AIR: questa funzionalità è supportata solo nei dispositivi mobili. Non è supportata nei dispositivi AIR per TV. Per ulteriori informazioni sul supporto delle API tra più profili, vedete Supporto dei profili AIR.
Altre informazioni
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
isSupported : Boolean [statico] [sola lettura]
La proprietà isSupported è impostata su true se sul dispositivo è disponibile il sensore dell'accelerometro. In caso contrario è impostata su false. | Accelerometer | ||
muted : Boolean [sola lettura]
Specifica se l'utente ha negato (true) o consentito (false) l'accesso all'accelerometro. | Accelerometer |
Metodo | Definito da | ||
---|---|---|---|
Crea una nuova istanza Accelerometer. | Accelerometer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento. | EventDispatcher | ||
Invia un evento nel flusso di eventi. | EventDispatcher | ||
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento. | EventDispatcher | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Il metodo setRequestedUpdateInterval viene utilizzato per impostare l'intervallo di tempo desiderato per gli aggiornamenti. | Accelerometer | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object | ||
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato. | EventDispatcher |
Evento | Riepilogo | Definito da | ||
---|---|---|---|---|
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR ottiene lo stato di attivazione del sistema operativo ed entra nello stato attivo. | EventDispatcher | |||
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR perde l'attivazione del sistema operativo e sta entrando nello stato inattivo. | EventDispatcher | |||
Inviato quando un accelerometro cambia stato. | Accelerometer | |||
L'evento update viene inviato in risposta agli aggiornamenti del sensore dell'accelerometro. | Accelerometer |
isSupported | proprietà |
isSupported:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2, Flash Player 10.1, Flash Lite 4 |
La proprietà isSupported
è impostata su true
se sul dispositivo è disponibile il sensore dell'accelerometro. In caso contrario è impostata su false
.
Implementazione
public static function get isSupported():Boolean
Altri esempi
Esempio ( Come utilizzare questo esempio )
Accelerometer.isSupported
per verificare se il supporto Accelerometer è presente in fase runtime. Se l'ambiente corrente supporta la funzionalità Accelerometer, viene aggiunto un listener di eventi all'oggetto Accelerometer e il gestore associato compila il campo di testo con i valori di indicazione temporale e di accelerazione. In caso contrario, il campo di testo indica che la funzionalità non è supportata nell'ambiente corrente.
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 | proprietà |
muted:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2, Flash Player 10.1 |
Specifica se l'utente ha negato (true
) o consentito (false
) l'accesso all'accelerometro. Quando questo valore cambia viene inviato un evento status
.
Implementazione
public function get muted():Boolean
Elementi API correlati
Accelerometer | () | Funzione di costruzione |
public function Accelerometer()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Crea una nuova istanza Accelerometer.
setRequestedUpdateInterval | () | metodo |
public function setRequestedUpdateInterval(interval:Number):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Il metodo setRequestedUpdateInterval
viene utilizzato per impostare l'intervallo di tempo desiderato per gli aggiornamenti. L'intervallo di tempo viene misurato in millisecondi. L'intervallo di tempo viene utilizzato solo come suggerimento per risparmiare la carica della batteria. L'intervallo effettivo tra gli aggiornamenti dell'accelerazione può essere maggiore o minore di questo valore. Qualsiasi modifica dell'intervallo di aggiornamento ha effetto su tutti i listener registrati. Potete utilizzare la classe Accelerometer senza chiamare il metodo setRequestedUpdateInterval()
. In questo caso, l'applicazione riceve gli aggiornamenti in base all'intervallo predefinito del dispositivo.
Parametri
interval:Number — L'intervallo di aggiornamento richiesto. Se interval è impostato su 0, viene utilizzato l'intervallo di aggiornamento minimo supportato.
|
Genera
ArgumentError — Il parametro interval specificato è minore di zero.
|
status | Evento |
flash.events.StatusEvent
proprietà StatusEvent.type =
flash.events.StatusEvent.STATUS
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Inviato quando un accelerometro cambia stato.
Nota: su alcuni dispositivi, l'accelerometro è sempre disponibile. In tali dispositivi, un oggetto Accelerometer non invia mai eventi status
.
type
di un oggetto evento status
.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
code | Una descrizione dello stato dell'oggetto. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
level | La categoria del messaggio, ad esempio "status" , "warning" o "error" . |
target | L'oggetto che riporta il proprio stato. |
update | Evento |
flash.events.AccelerometerEvent
proprietà AccelerometerEvent.type =
flash.events.AccelerometerEvent.UPDATE
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2, Flash Player 10.1, Flash Lite 4 |
L'evento update
viene inviato in risposta agli aggiornamenti del sensore dell'accelerometro. L'evento viene inviato nelle seguenti circostanze:
- Quando viene associata una nuova funzione listener tramite
addEventListener()
, questo evento viene inviato una volta a tutti i listener registrati per fornire il valore corrente dell'accelerometro. - Ogni volta che, a intervalli determinati dal dispositivo, vengono ottenuti aggiornamenti dell'accelerometro dalla piattaforma.
- Ogni volta che l'applicazione non rileva una modifica nell'accelerometro, ad esempio al ripristino del runtime dopo un'inattività.
type
di un oggetto evento AccelerometerEvent
.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
timestamp | L'indicatore orario dell'aggiornamento Accelerometer. |
accelerationX | Il valore di accelerazione in G (9,8 m/sec/sec) lungo l'asse x. |
accelerationY | Il valore di accelerazione in G (9,8 m/sec/sec) lungo l'asse y. |
accelerationZ | Il valore di accelerazione in G (9,8 m/sec/sec) lungo l'asse z. |
Altri esempi
update
dell'accelerometro. Gli eventi update
indicano lo spostamento del dispositivo.
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, 02:44 PM Z