Paquete | flash.sensors |
Clase | public class Accelerometer |
Herencia | Accelerometer EventDispatcher Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Nota: utilice la propiedad Accelerometer.isSupported
para probar si el entorno del motor de ejecución tiene capacidad para usar esta función. Mientras que la clase Accelerometer y sus miembros son accesibles en las versiones en tiempo de ejecución para cada entrada de la API, el entorno actual del motor de ejecución determina la disponibilidad de esta función. Por ejemplo, puede compilar código usando las propiedades de la clase Accelerometer para Flash Player 10.1, pero deberá usar la propiedad Accelerometer.isSupported
para comprobar la disponibilidad de la función Accelerometer en el entorno actual de implementación del motor de ejecución de Flash Player. Si Accelerometer.isSupported
es true
en tiempo de ejecución, se admite la función Accelerometer.
Compatibilidad con perfil de AIR: esta función sólo se admite en dispositivos móviles. No se admite en dispositivos de escritorio ni de AIR para TV. Consulte Compatibilidad con perfil de AIR para obtener información sobre la compatibilidad de la API con varios perfiles.
Más información
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
isSupported : Boolean [estática] [solo lectura]
La propiedad isSupported se establece en true si el sensor del acelerómetro está disponible en el dispositivo; en caso contrario, se establece en false. | Accelerometer | ||
muted : Boolean [solo lectura]
Especifica si el usuario ha denegado el acceso al acelerómetro (true) o lo ha autorizado (false). | Accelerometer |
Método | Definido por | ||
---|---|---|---|
Crea una nueva instancia de Accelerometer. | Accelerometer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | EventDispatcher | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
El método setRequestedUpdateInterval se utiliza para definir el intervalo de tiempo deseado de las actualizaciones. | Accelerometer | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object | ||
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto. | EventDispatcher |
Evento | Resumen | Definido por | ||
---|---|---|---|---|
[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos. | EventDispatcher | |||
[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos. | EventDispatcher | |||
Se distribuye cuando un acelerómetro cambia su estado. | Accelerometer | |||
El evento update se distribuye como respuesta a las actualizaciones del sensor del acelerómetro. | Accelerometer |
isSupported | propiedad |
isSupported:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2, Flash Player 10.1, Flash Lite 4 |
La propiedad isSupported
se establece en true
si el sensor del acelerómetro está disponible en el dispositivo; en caso contrario, se establece en false
.
Implementación
public static function get isSupported():Boolean
Ejemplo ( Cómo utilizar este ejemplo )
Accelerometer.isSupported
para probar si se admite la clase Accelerometer en tiempo de ejecución. Si el entorno actual admite la función Accelerometer y se añade un detector de eventos al objeto Accelerometer y el controlador asociado llena el campo de texto con la marca de hora y los valores de aceleración. En caso contrario, el campo de texto indica que la función no se admite en el entorno actual.
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 | propiedad |
muted:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2, Flash Player 10.1 |
Especifica si el usuario ha denegado el acceso al acelerómetro (true
) o lo ha autorizado (false
). Cuando cambia este valor, se distribuye un evento status
.
Implementación
public function get muted():Boolean
Elementos de API relacionados
Accelerometer | () | Información sobre |
public function Accelerometer()
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Crea una nueva instancia de Accelerometer.
setRequestedUpdateInterval | () | método |
public function setRequestedUpdateInterval(interval:Number):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2, Flash Player 10.1, Flash Lite 4 |
El método setRequestedUpdateInterval
se utiliza para definir el intervalo de tiempo deseado de las actualizaciones. El intervalo de tiempo se mide en milisegundos. El intervalo de actualización sólo se utiliza como sugerencia para conservar la batería. El tiempo real entre las actualizaciones de aceleración puede ser mayor o menor que este valor. Cualquier cambio en el intervalo de actualización afecta a todos los detectores registrados. Puede utilizar la clase Accelerometer sin llamar al método setRequestedUpdateInterval()
. En este caso, la aplicación recibe actualizaciones en función del intervalo predeterminado del dispositivo.
Parámetros
interval:Number — El intervalo de actualización solicitado. Si interval se establece en 0, se utiliza el mínimo intervalo de actualización admitido.
|
Emite
ArgumentError — El intervalo especificado es menor que cero.
|
status | Evento |
flash.events.StatusEvent
propiedad StatusEvent.type =
flash.events.StatusEvent.STATUS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2, Flash Player 10.1, Flash Lite 4 |
Se distribuye cuando un acelerómetro cambia su estado.
Nota: en algunos dispositivos, el acelerómetro siempre está disponible. En estos dispositivos, un objeto Accelerometer nunca distribuye un evento status
.
type
de un objeto de evento status
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
code | Descripción del estado del objeto. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
level | La categoría del mensaje, por ejemplo, "status" , "warning" o "error" . |
target | El objeto que informa sobre su estado. |
update | Evento |
flash.events.AccelerometerEvent
propiedad AccelerometerEvent.type =
flash.events.AccelerometerEvent.UPDATE
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2, Flash Player 10.1, Flash Lite 4 |
El evento update
se distribuye como respuesta a las actualizaciones del sensor del acelerómetro. El evento se distribuye en las circunstancias siguientes:
- Cuando se conecta una nueva función de detector mediante
addEventListener()
, este evento se envía una vez a todos los detectores registrados para proporcionar el valor actual del acelerómetro. - Siempre que se obtienen actualizaciones del acelerómetro en la plataforma a intervalos determinados del dispositivo.
- Siempre que la aplicación omite un cambio en el acelerómetro (por ejemplo, el motor de ejecución se reanuda después de estar inactivo)
type
de un objeto de evento AccelerometerEvent
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
timestamp | La marca de fecha de la actualización de Accelerometer. |
accelerationX | Valor de la aceleración en Gs (9,8 m/seg/seg) en el eje X. |
accelerationY | Valor de la aceleración en Gs (9,8 m/seg/seg) en el eje Y. |
accelerationZ | Valor de la aceleración en Gs (9,8 m/seg/seg) en el eje Z. |
update
del acelerómetro. Los eventos update
del acelerómetro indican movimiento 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:12 PM Z