Guida di riferimento di ActionScript® 3.0 per la piattaforma Adobe® Flash®
Home  |  Nascondi elenco pacchetti e classi |  Pacchetti  |  Classi  |  Novità  |  Indice  |  Appendici  |  Perché in inglese?
Filtri: Recupero dati dal server...
Recupero dati dal server...
flash.sensors 

Accelerometer  - AS3

Pacchettoflash.sensors
Classepublic class Accelerometer
EreditarietàAccelerometer Inheritance EventDispatcher Inheritance Object

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 2, Flash Player 10.1, Flash Lite 4

La classe Accelerometer invia eventi in base all'attività rilevata dal sensore di movimento del dispositivo. Questi dati rappresentano la posizione o il movimento del dispositivo lungo un asse tridimensionale. Quando il dispositivo si sposta, il sensore rileva il movimento e restituisce i dati di accelerazione. La classe Accelerometer fornisce i metodi per verificare se l'accelerometro è o meno supportato e inoltre per impostare la frequenza di invio degli eventi relativi all'accelerazione.

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.

Vedere gli esempi

Altre informazioni

Elementi API correlati



Proprietà pubbliche
 ProprietàDefinito da
 Inheritedconstructor : 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
Metodi pubblici
 MetodoDefinito da
  
Crea una nuova istanza Accelerometer.
Accelerometer
 Inherited
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
 Inherited
Invia un evento nel flusso di eventi.
EventDispatcher
 Inherited
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
EventDispatcher
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Rimuove un listener dall'oggetto EventDispatcher.
EventDispatcher
 Inherited
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
 Inherited
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate.
Object
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
 Inherited
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
EventDispatcher
Eventi
 Evento Riepilogo Definito da
 Inherited[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
 Inherited[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
Descrizione delle proprietà

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 )
L'esempio seguente utilizza la proprietà 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

Descrizione della funzione di costruzione

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.

Descrizione dei metodi

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.
Descrizione degli eventi

status

Evento
Tipo di oggetto 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.

Definisce il valore della proprietà type di un oggetto evento status.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
codeUna descrizione dello stato dell'oggetto.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
levelLa categoria del messaggio, ad esempio "status", "warning" o "error".
targetL'oggetto che riporta il proprio stato.

update

Evento  
Tipo di oggetto 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à.

Definisce il valore della proprietà type di un oggetto evento AccelerometerEvent.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
timestampL'indicatore orario dell'aggiornamento Accelerometer.
accelerationXIl valore di accelerazione in G (9,8 m/sec/sec) lungo l'asse x.
accelerationYIl valore di accelerazione in G (9,8 m/sec/sec) lungo l'asse y.
accelerationZIl valore di accelerazione in G (9,8 m/sec/sec) lungo l'asse z.

Altri esempi

AccelerometerExample.as

Nell'esempio seguente, l'applicazione sposta uno Sprite in base agli eventi 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;
        }
    }
}




[ X ]Perché in inglese?
Il contenuto della Guida di riferimento di ActionScript 3.0 appare in inglese

Non tutte le parti della Guida di riferimento di ActionScript 3.0 sono tradotte in tutte le lingue. Quando un elemento del linguaggio non è tradotto, viene riportato in inglese. Ad esempio, la classe ga.controls.HelpBox non è tradotta in nessuna lingua. Pertanto, nella versione italiana della guida di riferimento, la descrizione della classe ga.controls.HelpBox è riportata in inglese.