Paquete | flash.ui |
Clase | public final class GameInputDevice |
Herencia | GameInputDevice Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.7 |
GameInputDevice
representa un solo dispositivo de entrada utilizado habitualmente para juegos.
Esta clase incluye métodos y propiedades que se pueden utilizar para:
-
Active o desactive un dispositivo de entrada. Inicialmente, los dispositivos están desactivados de forma predeterminada (
enabled
esfalse
). Debe activar de forma explícita un dispositivo, estableciendoenabled
comotrue
, para poder obtener los valores de control desde el dispositivo. -
Obtiene el nombre y el identificador de un dispositivo de entrada. Las propiedades
name
eid
juntas identifican de forma exclusiva un dispositivo. Para dispositivos Android, el fabricante del dispositivo suministra estos valores. Para dispositivos iOS, elID
puede cambiar cada vez que conecte el dispositivo. -
Enumera los controles en un dispositivo de entrada. Los controles físicos en un dispositivo se asignan a objetos
GameInputControl
lógicos y se almacenan en una lista. Se puede acceder a un control en la lista con el métodogetControlAt()
. -
Administra el almacenamiento en caché de valores muestreados del control. Tomar muestras de un conjunto de valores de controles directamente de un objeto del dispositivo es una de las tres formas para obtener los valores del control. (Las otras dos formas, descritas en la sección correspondiente, recurren al método
value
en la claseGameInputControl
.) El almacenamiento en caché de las muestras resulta útil cuando se necesita acceder a valores del control a una velocidad superior que la velocidad de fotogramas de una aplicación.
Siempre configure un detector en esta clase para el evento GameInputEvent.DEVICE_REMOVED
. Este detector permite gestionar el caso de un dispositivo que se desconecta o se apaga de forma inesperada. Cuando desconecte un dispositivo, libere su objeto GameInputDevice
, ya que el objeto no es válido después de desconectar su dispositivo asociado.
Un dispositivo Android que se elimina y luego se vuelve a conectar conserva el ID que tenía cuando se conectó por primera vez. Puede volver a conectar lógicamente a un dispositivo haciendo coincidir su ID. Para dispositivos iOS, el ID puede cambiar cuando vuelva a conectar el dispositivo.
Nota: No se puede depender del orden de dispositivos en la lista. (El orden se puede alterar al añadir y eliminar dispositivos).
Para obtener más información, consulte el artículo del Centro de desarrolladores de Adobe Air:Controladores de juego en Adobe AIR.
Para Android, esta función es compatible con una versión del SO Android mínima de 4.1 y requiere la versión de SWF mínima de 20 y espacio de nombre 3.7. Para iOS, esta función es compatible con una versión mínima de iOS 9.0 y requiere la versión de SWF mínima de 34 y espacio de nombre 23.0.
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 | ||
enabled : Boolean
Activa o desactiva este dispositivo. | GameInputDevice | ||
id : String [solo lectura]
Devuelve el ID de este dispositivo. | GameInputDevice | ||
name : String [solo lectura]
Devuelve el nombre de este dispositivo. | GameInputDevice | ||
numControls : int [solo lectura]
Devuelve el número de controles de este dispositivo. | GameInputDevice | ||
sampleInterval : int
Especifica la velocidad (en milisegundos) en que se va a recuperar los valores de control. | GameInputDevice |
Método | Definido por | ||
---|---|---|---|
Escribe valores de muestra de caché en ByteArray. | GameInputDevice | ||
Recupera un control específico de un dispositivo. | GameInputDevice | ||
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 | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Solicita al dispositivo que comience a mantener una caché de los valores de las muestras. | GameInputDevice | ||
Detiene el almacenamiento de muestra en caché. | GameInputDevice | ||
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 |
Constante | Definido por | ||
---|---|---|---|
MAX_BUFFER_SIZE : int = 32000 [estática]
Especifica el tamaño máximo del búfer utilizado para guardar los valores de control muestreados en caché. | GameInputDevice |
enabled | propiedad |
enabled:Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.7 |
Activa o desactiva este dispositivo. Los dispositivos están desactivados de forma predeterminada. Active un dispositivo para acceder o muestrear sus valores de control. Asimismo, un dispositivo y sus controles individuales distribuyen eventos sólo cuando el dispositivo está activado.
Cuando se elimina un dispositivo, se desactiva. Es posible seguir obteniendo información de dispositivos desactivados, pero no se puede acceder a sus valores de control o iniciar la caché. Asimismo, no es posible activar el dispositivo si ha sido eliminado. Si se elimina un dispositivo, enabled
siempre devuelve false
.
Implementación
public function get enabled():Boolean
public function set enabled(value:Boolean):void
id | propiedad |
id:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.7 |
Devuelve el ID de este dispositivo. Puede diferenciar dispositivos por sus ID.
Nota: Para dispositivos Android, el fabricante del dispositivo proporciona los ID de dispositivo. Para dispositivos iOS, el ID puede cambiar cuando vuelva a conectar el dispositivo.
Implementación
public function get id():String
name | propiedad |
name:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.7 |
Devuelve el nombre de este dispositivo. El nombre puede ayudar a identificar el tipo de dispositivo.
Nota: el fabricante del dispositivo facilita los nombres de sus dispositivos.
Implementación
public function get name():String
numControls | propiedad |
sampleInterval | propiedad |
sampleInterval:int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.7 |
Especifica la velocidad (en milisegundos) en que se va a recuperar los valores de control. El valor predeterminado es 0, lo que significa que los valores se actualizan una vez por fotograma. La definición de elemento sampleValue
mayor hace que GameInput muestre valores de control a una velocidad más rápida que la velocidad de fotogramas de la aplicación.
Aunque los valores pueden actualizarse con más frecuencia que una vez por fotograma, sólo se distribuye un evento por control. Por ello, si dos actualizaciones de un valor tienen lugar en un fotograma, sólo se distribuye un evento change y sólo se puede recuperar el valor más reciente.
Para recuperar más que el valor más reciente, puede almacenar los valores de muestra en caché mediante los métodos cache de esta clase. Cuando se almacenan en caché los valores muestreados, esta propiedad determina con qué frecuencia se escriben los valores en la memoria caché.
El valor predeterminado es 0.
Implementación
public function get sampleInterval():int
public function set sampleInterval(value:int):void
Emite
IOError — Cuando se desactiva el dispositivo durante la definición de esta propiedad.
| |
RangeError — Cuando sampleInterval es menor que 0.
|
getCachedSamples | () | método |
public function getCachedSamples(data:ByteArray, append:Boolean = false):int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.7 |
Escribe valores de muestra de caché en ByteArray
. Los valores de muestra en caché se escriben en ByteArray
en el orden en el que se recuperaron (los valores más antiguos en primer lugar, los más recientes los últimos).
Este método devuelve el número de valores de muestra en caché escritos en ByteArray
(no los valores en sí). Si el parámetro append
es false
(valor predeterminado), ByteArray
se borra antes de que se escriban los valores de muestra desde la memoria caché. Si append
es true, los valores de muestra se añaden a ByteArray
conservando los valores antiguos. Añada valores de muestra si:
- Debe mantener un número específico de valores disponibles.
- Se debe mantener un historial más grande que la memoria caché.
append
es true
, la aplicación es responsable de para borrar ByteArray
. Si ByteArray
no se borra, sigue creciendo y potencialmente podría hacer fallar la aplicación.
La memoria caché se borra después de que los valores de muestra se hayan escrito en ByteArray
.
Se emite un error IOError
si el dispositivo se desactiva cuando se llama a este método.
Parámetros
data:ByteArray — El ByteArray que contiene los datos recuperados. Se rellena con valores de muestra escritos como valores dobles. El objeto ByteArray contiene NaN como el valor de un control en caso de que no se detecte ningún cambio en la posición del control.
| |
append:Boolean (default = false ) — Un indicador que determina el modo en el que se escriben los datos en ByteArray . Si es true , los valores muestreados se escriben al final del conjunto. Si es false , el contenido de ByteArray se elimina y, a continuación, los datos se escriben en el conjunto. El valor predeterminado es false .
|
int — El número de muestras (no valores) escritos en ByteArray .
|
Emite
ArgumentError — Cuando data es null.
| |
IOError — Cuando se llama a este método y el dispositivo está desactivado.
|
getControlAt | () | método |
public function getControlAt(i:int):GameInputControl
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.7 |
Recupera un control específico de un dispositivo.
GameInputDevice almacena los controles en un dispositivo de una lista. Se puede acceder a controles individuales en un dispositivo mediante el método getControlAt()
.
El orden de control en el índice puede cambiar cada vez que se añade o se elimina un dispositivo. Puede comprobar la propiedad id
en un objeto GameInputControl
para que coincida con un control específico.
Puede obtener controles incluso si un dispositivo no está activado. Sin embargo, se no pueden leer valores de control desde un dispositivo desactivado. Esta función permite leer las propiedades de un control antes de activar el dispositivo al que pertenezca. Puede utilizar esta capacidad para determinar si un dispositivo es adecuado para la aplicación antes de activar el dispositivo.
Parámetros
i:int — La posición del índice del GameInputControl en la lista de GameInputControls.
|
GameInputControl — El objeto GameInputControl en la posición del índice especificada.
|
Emite
RangeError — Cuando el índice es menor que cero o mayor que (numControls - 1) .
|
startCachingSamples | () | método |
public function startCachingSamples(numSamples:int, controls:Vector.<String>):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.7 |
Solicita al dispositivo que comience a mantener una caché de los valores de las muestras. La propiedad sampleInterval
determina la frecuencia de muestreo. El parámetro numSamples
especifica el número de muestras en caché. El parámetro controls
especifica los valores de ID de los controles que muestrea.
Los valores de control se guardan en caché en el orden especificado. Puede recuperar los valores muestreados llamando al método getCachingSamples()
.
Si la memoria necesaria para guardar en caché los valores muestreados es más grande que el valor especificado en la constante MAX_BUFFER_SIZE
, este método emite un error MemoryError
. Se emite un error IOError
si el dispositivo no se ha activado antes de llamar a este método.
Parámetros
numSamples:int — El número de muestras que se almacenan en la memoria caché. Cuando se recuperan muestras siempre son menor o igual que numSamples .
| |
controls:Vector.<String> — Un vector de String . Cada String es un ID de un control. Las muestras se escriben en el mismo orden que proporciona este vector.
|
Emite
RangeError — Cuando numSamples es menor o igual que cero, o cuando una entrada en controls es menor que cero o mayor que (numControls - 1) .
| |
ArgumentError — Cuando el control es null o no contiene al menos una entrada o contiene entradas no válidas.
| |
IOError — Cuando se llama a este método en un dispositivo desactivado.
| |
MemoryError — Cuando el tamaño de la caché (número de valores * muestras) es más grande que MAX_BUFFER_SIZE .
|
stopCachingSamples | () | método |
public function stopCachingSamples():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.7 |
Detiene el almacenamiento de muestra en caché. Aunque se siguen distribuyendo eventos change en los controles, no se guardan más muestras en la memoria caché. Los valores se siguen recuperando con la frecuencia especificada por sampleInterval
, sin embargo esos valores no se almacenan en la caché. Por lo tanto, sólo se puede recuperar el último valor.
Emite
IOError — Cuando se llama a este método sin activar el dispositivo primero.
|
MAX_BUFFER_SIZE | Constante |
public static const MAX_BUFFER_SIZE:int = 32000
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.7 |
Especifica el tamaño máximo del búfer utilizado para guardar los valores de control muestreados en caché. Si startCachingSamples
devuelve muestras que requieren más memoria de la especificada, se emitirá un error de memoria.
Tue Jun 12 2018, 02:12 PM Z