Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
flash.sensors 

Accelerometer  - AS3

Packageflash.sensors
Classepublic class Accelerometer
HéritageAccelerometer Inheritance EventDispatcher Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2, Flash Player 10.1, Flash Lite 4

La classe Accelerometer distribue des événements en fonction de l’activité détectée par le capteur de mouvement du périphérique. Ces données représentent l’emplacement du périphérique ou un mouvement le long d’un axe tridimensionnel. Lorsque le périphérique bouge, le capteur détecte le mouvement et renvoie des données d’accélération. La classe Accelerometer fournit des méthodes permettant de savoir si l’accéléromètre est ou non pris en charge et de définir la fréquence de distribution des événements d’accélération.

Remarque : utilisez la propriété Accelerometer.isSupported pour vérifier si l’environnement d’exécution prend en charge cette fonctionnalité. Alors que la classe Accelerometer et ses membres sont accessibles aux versions du moteur d’exécution répertoriées pour chaque entrée de l’API, l’environnement actuel du moteur d’exécution détermine la disponibilité de cette fonction. Par exemple, vous pouvez compiler du code à l’aide des propriétés de la classe Accelerometer pour Flash Player 10.1, mais vous devez utiliser la propriété Accelerometer.isSupported pour vérifier la disponibilité de la fonction Accelerometer dans l’environnement de déploiement actuel du moteur d’exécution de Flash Player. Si la propriété Accelerometer.isSupported est définie sur true au moment de l’exécution, la fonction Accelerometer est prise en charge.

Prise en charge du profil AIR : cette fonctionnalité est prise en charge uniquement sur les périphériques mobiles. Elle n’est pas prise en charge sur les périphériques de bureau ou sur les périphériques AIR pour TV. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

Consulter les exemples

Informations complémentaires

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  isSupported : Boolean
[statique] [lecture seule] La propriété isSupported est définie sur true si le capteur de l’accéléromètre est disponible sur le périphérique ; dans le cas contraire, elle est définie sur false.
Accelerometer
  muted : Boolean
[lecture seule] Indique si l’utilisateur a refusé (true) ou autorisé (false) l’accès à l’accéléromètre.
Accelerometer
Méthodes publiques
 MéthodeDéfini par
  
Crée une nouvelle occurrence de Accelerometer.
Accelerometer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
  
La méthode setRequestedUpdateInterval est utilisée pour définir l’intervalle de mise à jour souhaité.
Accelerometer
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active.EventDispatcher
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive.EventDispatcher
  Distribué lorsqu’un accéléromètre modifie son état.Accelerometer
  L’événement update est distribué en réponse à des mises à jour du capteur de l’accéléromètre.Accelerometer
Détails de la propriété

isSupported

propriété
isSupported:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2, Flash Player 10.1, Flash Lite 4

La propriété isSupported est définie sur true si le capteur de l’accéléromètre est disponible sur le périphérique ; dans le cas contraire, elle est définie sur false.



Implémentation
    public static function get isSupported():Boolean

Plus d’exemples


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant utilise la propriété Accelerometer.isSupported pour vérifier la prise en charge de la fonction Accelerometer à l’exécution. Si l’environnement actuel prend en charge la fonction Accelerometer, un écouteur d’événement est ajouté à l’objet Accelerometer, et le gestionnaire associé renseigne le champ de texte avec la date et l’heure et des valeurs d’accélération. Dans le cas contraire, le champ de texte indique que la fonction n’est pas prise en charge dans l’environnement actuel.
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

propriété 
muted:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2, Flash Player 10.1

Indique si l’utilisateur a refusé (true) ou autorisé (false) l’accès à l’accéléromètre. Lorsque cette valeur change, un événement status est distribué.



Implémentation
    public function get muted():Boolean

Eléments de l’API associés

Détails du constructeur

Accelerometer

()Constructeur
public function Accelerometer()

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2, Flash Player 10.1, Flash Lite 4

Crée une nouvelle occurrence de Accelerometer.

Détails de la méthode

setRequestedUpdateInterval

()méthode
public function setRequestedUpdateInterval(interval:Number):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2, Flash Player 10.1, Flash Lite 4

La méthode setRequestedUpdateInterval est utilisée pour définir l’intervalle de mise à jour souhaité. L’intervalle est mesuré en millisecondes. L’intervalle de mise à jour n’est qu’une suggestion pour préserver la charge de la batterie. L’intervalle réel entre les mises à jour d’accélération peut être supérieur ou inférieur à cette valeur. Toute modification de l’intervalle de mise à jour affecte l’ensemble des écouteurs enregistrés. Vous pouvez utiliser la classe Accelerometer sans appeler la méthode setRequestedUpdateInterval(). Dans ce cas, l’application reçoit les mises à jour en fonction de l’intervalle par défaut spécifié sur le périphérique.

Paramètres

interval:Number — Intervalle de mise à jour spécifié. Si la propriété interval est définie sur 0, la prise en charge de l’intervalle minimal de mise à jour est utilisée.


Valeur émise
ArgumentError — La valeur spécifiée du paramètre interval est inférieure à zéro.
Détails de l’événement

status

Evénement
Type d’objet d’événement: flash.events.StatusEvent
propriété StatusEvent.type = flash.events.StatusEvent.STATUS

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2, Flash Player 10.1, Flash Lite 4

Distribué lorsqu’un accéléromètre modifie son état.

Remarque : sur certains périphériques, les accéléromètres sont toujours disponibles. Sur ces périphériques, un objet Accelerometer ne distribue jamais d’événement status.

Définit la valeur de la propriété type d’un objet événement status.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
codeDescription de l’état de l’objet.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
levelCatégorie du message, telle que "status", "warning" ou "error".
targetObjet publiant son état.

update

Evénement  
Type d’objet d’événement: flash.events.AccelerometerEvent
propriété AccelerometerEvent.type = flash.events.AccelerometerEvent.UPDATE

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2, Flash Player 10.1, Flash Lite 4

L’événement update est distribué en réponse à des mises à jour du capteur de l’accéléromètre. Cet événement est distribué dans les cas suivants :

  • Lorsqu’une nouvelle fonction d’écouteur est associée via la méthode addEventListener(), cet événement est distribué une seule fois pour tous les écouteurs enregistrés afin de fournir la valeur actuelle de l’accéléromètre.
  • Chaque fois que la plate-forme fournit des mises à jours de l’accéléromètre à des intervalles déterminés par le périphérique.
  • Chaque fois que l’application omet un changement dans l’accéléromètre (notamment lorsque le moteur d’exécution reprend après une période d’inactivité).

Définit la valeur de la propriété type d’un objet d’événement AccelerometerEvent.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
timestampHorodatage de la mise à jour de l’accéléromètre.
accelerationXValeur de l’accélération, en Gs (9,8 m/sec/sec), le long de l’axe x.
accelerationYValeur de l’accélération, en Gs (9,8 m/sec/sec), le long de l’axe y.
accelerationZValeur de l’accélération, en Gs (9,8 m/sec/sec), le long de l’axe z.

Plus d’exemples

AccelerometerExample.as

Dans l’exemple suivant, l’application déplace un Sprite en fonction des événements update de l’accéléromètre. Les événements update de l’accéléromètre indiquent le mouvement du périphérique.
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 ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.