flash.sensorsAccelerometer La classe Accelerometer distribue des événements en fonction de l’activité détectée par le capteur de mouvement du périphérique.Classe Accelerometer flash.events:EventDispatcher 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.

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; } } }
isSupportedflash.events.AccelerometerEventMichael Chaize : AIR et l’accéléromètreMichael Chaize : Devenir un pilote AIRstatus Distribué lorsqu’un accéléromètre modifie son état.flash.events.StatusEvent.STATUSflash.events.StatusEvent 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.

update L’événement update est distribué en réponse à des mises à jour du capteur de l’accéléromètre.flash.events.AccelerometerEvent.UPDATEflash.events.AccelerometerEvent 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é).

Accelerometer Crée une nouvelle occurrence de Accelerometer. Crée une nouvelle occurrence de Accelerometer. setRequestedUpdateInterval La méthode setRequestedUpdateInterval est utilisée pour définir l’intervalle de mise à jour souhaité.La valeur spécifiée du paramètre interval est inférieure à zéro. ArgumentErrorArgumentErrorintervalNumberIntervalle 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. 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. isSupported 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.Boolean 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. 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 Indique si l’utilisateur a refusé (true) ou autorisé (false) l’accès à l’accéléromètre.Boolean 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é. status
Geolocation La classe Geolocation distribue des événements en réponse au capteur d’emplacement du périphérique.flash.events:EventDispatcher La classe Geolocation distribue des événements en réponse au capteur d’emplacement du périphérique.

Si un périphérique prend en charge la géolocalisation, vous pouvez utiliser cette classe pour connaître l’emplacement géographique actuel du périphérique. L’emplacement géographique s’affiche sur le périphérique sous forme de coordonnées de latitude et de longitude (au format standard WGS-84). Lorsque l’emplacement du périphérique change, vous pouvez recevoir des mises à jour sur ces changements. Si le périphérique prend en charge cette fonctionnalité, vous serez en mesure d’obtenir des informations sur l’altitude, la précision, la direction, la vitesse, et la date et l’heure de la dernière modification de l’emplacement.

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. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété Geolocation.isSupported. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

Dans l’exemple suivant, l’application affiche la latitude, la longitude et la précision horizontale des événements update de géolocalisation au fur et à mesure qu’ils sont reçus. package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.GeolocationEvent; import flash.sensors.Geolocation; import flash.text.TextField; import flash.text.TextFormat; public class GeolocationTest extends Sprite { private var geo:Geolocation; private var log:TextField; public function GeolocationTest() { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; setUpTextField(); if (Geolocation.isSupported) { geo = new Geolocation(); geo.setRequestedUpdateInterval(100); geo.addEventListener(GeolocationEvent.UPDATE, geolocationUpdateHandler); } else { log.text = "No geolocation support."; } } private function geolocationUpdateHandler(event:GeolocationEvent):void { log.text = "latitude:" + event.latitude.toString() + "°\n"; log.appendText("longitude:" + event.longitude.toString() + "°\n"); log.appendText("horizontal accuracy:" + event.horizontalAccuracy.toString() + " m"); } private function setUpTextField():void { log = new TextField(); var format:TextFormat = new TextFormat("_sans", 24); log.defaultTextFormat = format; log.border = true; log.wordWrap = true; log.multiline = true; log.x = 10; log.y = 10; log.height = stage.stageHeight - 20; log.width = stage.stageWidth - 20; addChild(log); } } }
Cristophe Coenraets : Collaboration multi-utilisateurs sur Google Mapsstatus L’objet Geolocation distribue des événements status lorsque l’utilisateur modifie l’accès au capteur d’emplacement.flash.events.StatusEvent.STATUSflash.events.StatusEvent L’objet Geolocation distribue des événements status lorsque l’utilisateur modifie l’accès au capteur d’emplacement. Par exemple, si l’utilisateur empêche l’application d’accéder aux données de localisation en réponse à une invite de périphérique, l’objet Geolocation distribue un événement status. Lorsque l’état bascule sur un état dans lequel le capteur d’emplacement n’est pas disponible, la propriété muted de l’occurrence de Geolocation est définie sur true. mutedupdate L’événement update est distribué en réponse à des mises à jour du capteur d’emplacement.flash.events.GeolocationEvent.UPDATEflash.events.GeolocationEvent L’événement update est distribué en réponse à des mises à jour du capteur d’emplacement. 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’emplacement.
  • Chaque fois que la plate-forme fournit des mises à jours d’emplacement à des intervalles déterminés par le périphérique.
  • Chaque fois que l’application omet un changement d’emplacement (notamment lorsque l’application quitte le mode de veille).

Remarque : les iPhone de première génération, qui n’incluent pas d’unité GPS, distribuent des événements update uniquement de manière occasionnelle. Sur ces dispositifs, un objet Geolocation distribue initialement un ou deux événements update. Il distribue ensuite des événements update lorsque les informations changent nettement.

Geolocation Crée une nouvelle occurrence de Geolocation. Crée une nouvelle occurrence de Geolocation. setRequestedUpdateInterval Utilisée pour définir l’intervalle de mise à jour, en millisecondes. La valeur spécifiée du paramètre interval est inférieure à zéro. ArgumentErrorArgumentErrorintervalNumberIntervalle de mise à jour spécifié. Si la valeur du paramètre interval est <= 0, tout appel de cette méthode reste sans effet. Utilisée pour définir l’intervalle de mise à jour, 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’emplacement peut être supérieur ou inférieur à cette valeur. Toute modification de l’intervalle de mise à jour à l’aide de cette méthode aura une incidence sur tous les écouteurs d’événement update. Il est possible d’utiliser la classe Geolocation sans appeler la méthode setRequestedUpdateInterval(). Dans ce cas, la plate-forme fournit des mises à jour en fonction de l’intervalle par défaut.

Remarque : les iPhone de première génération, qui n’incluent pas d’unité GPS, distribuent des événements update uniquement de manière occasionnelle. Sur ces dispositifs, un objet Geolocation distribue initialement un ou deux événements update. Il distribue ensuite des événements update lorsque les informations changent nettement.

isSupported Indique si un capteur d’emplacement est disponible sur le périphérique (true) ou pas (false). Boolean Indique si un capteur d’emplacement est disponible sur le périphérique (true) ou pas (false). muted Indique si l’utilisateur a refusé (true) ou autorisé (false) l’accès à la géolocalisation.Boolean Indique si l’utilisateur a refusé (true) ou autorisé (false) l’accès à la géolocalisation. Lorsque cette valeur change, un événement status est distribué. status