Pacchetto | flash.ui |
Classe | public final class GameInputDevice |
Ereditarietà | GameInputDevice Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.7 |
GameInputDevice
rappresenta un singolo dispositivo di input comunemente usato per il gioco.
Questa classe include metodi e proprietà che potete utilizzare per:
-
Abilitare o disabilitare un dispositivo di input. I dispositivi sono inizialmente disabilitati per impostazione predefinita (
enabled
è impostato sufalse
). Per ottenere i valori di controllo da un dispositivo, dovete abilitarlo esplicitamente impostandoenabled
sutrue
. -
Ottenere il nome e l'ID di un dispositivo di input. Le proprietà
name
eid
insieme identificano in modo univoco un dispositivo. Per i dispositivi Android, il produttore del dispositivo fornisce tali valori. Per i dispositivi iOS, l'ID
può cambiare ogni volta che si collega il dispositivo. -
Enumerare i controlli di un dispositivo di input. I controlli fisici di un dispositivo sono mappati su oggetti logici
GameInputControl
e memorizzati in un elenco. Per accedere a un controllo nell'elenco, potete utilizzare il metodogetControlAt()
. -
Gestire la memorizzazione nella cache dei valori di controlli campionati. Campionare una serie di valori di controlli direttamente da un oggetto dispositivo è uno dei tre modi per ottenere i valori dei controlli. (Gli altri due metodi utilizzano il metodo
value
nella classeGameInputControl
e sono descritti qui.) La memorizzazione in cache dei campioni è utile quando è necessario accedere a valori dei controlli a una velocità più elevata della frequenza fotogrammi di un'applicazione.
Impostate sempre un listener su questa classe per l'evento GameInputEvent.DEVICE_REMOVED
. Tale listener vi consente di gestire dispositivi che vengono inaspettatamente scollegati o spenti. Se un dispositivo viene scollegato, liberate il relativo oggetto GameInputDevice
, in quanto non sarà più valido una volta che il dispositivo associato viene scollegato.
Un dispositivo Android che viene rimosso e quindi ricollegato conserva lo stesso ID che aveva alla prima connessione. Potete ricollegare logicamente un dispositivo facendo corrispondere il relativo ID. Per i dispositivi iOS, l'ID può cambiare quando si collega di nuovo il dispositivo.
Nota: non potete affidarvi all’ordine dei dispositivi nell’elenco. (Questo ordine può cambiare quando vengono aggiunti o rimossi dispositivi.)
Per ulteriori informazioni, vedete l'articolo nel centro sviluppatori per Adobe Air: Game controllers on Adobe AIR (controller per giochi in Adobe AIR).
Per Android, questa funzione supporta Android OS 4.1 e versioni successive e richiede almeno SWF versione 20 e namespace 3.7. Per iOS, questa funzione supporta iOS 9.0 e versioni successive e richiede almeno SWF versione 34 e namespace 23.0.
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
enabled : Boolean
Abilita o disabilita il dispositivo. | GameInputDevice | ||
id : String [sola lettura]
Restituisce l'ID del dispositivo. | GameInputDevice | ||
name : String [sola lettura]
Restituisce il nome del dispositivo. | GameInputDevice | ||
numControls : int [sola lettura]
Restituisce in numero di controlli nel dispositivo. | GameInputDevice | ||
sampleInterval : int
Specifica la frequenza (in millisecondi) a cui recuperare i valori dei controlli. | GameInputDevice |
Metodo | Definito da | ||
---|---|---|---|
Scrive valori campione memorizzati nella cache in ByteArray. | GameInputDevice | ||
Recupera un controllo specifico da un dispositivo. | GameInputDevice | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Richiede al dispositivo di iniziare a gestire una cache per i valori di campionamento. | GameInputDevice | ||
Interrompe la memorizzazione nella cache dei campioni. | GameInputDevice | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object |
Costante | Definito da | ||
---|---|---|---|
MAX_BUFFER_SIZE : int = 32000 [statico]
Specifica le dimensioni massime del buffer utilizzato per memorizzare i valori dei controlli campionati. | GameInputDevice |
enabled | proprietà |
enabled:Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.7 |
Abilita o disabilita il dispositivo. I dispositivi vengono disabilitati per impostazione predefinita. Abilita un dispositivo per accedere a o campionare i relativi valori dei controlli. Inoltre, un dispositivo e i relativi singoli controlli inviano eventi solo se il dispositivo è abilitato.
Quando un dispositivo viene rimosso, esso diventa disabilitato. Potete continuare a ricevere informazioni su un dispositivo disabilitato, tuttavia, non potete accedere a valori dei controlli o effettuare memorizzazioni nella cache. Inoltre, non potete abilitare un dispositivo che è stato rimosso. Se un dispositivo viene rimosso, enabled
restituisce sempre false
.
Implementazione
public function get enabled():Boolean
public function set enabled(value:Boolean):void
id | proprietà |
id:String
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.7 |
Restituisce l'ID del dispositivo. Potete differenziare i dispositivi in base ai loro ID.
Nota: per i dispositivi Android, gli ID dei dispositivi vengono forniti dai rispettivi produttori. Per i dispositivi iOS, l'ID può cambiare quando si collega di nuovo il dispositivo.
Implementazione
public function get id():String
name | proprietà |
name:String
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.7 |
Restituisce il nome del dispositivo. Il nome può aiutare a identificare il tipo di dispositivo.
Nota: i nomi dei dispositivi vengono forniti dai rispettivi produttori.
Implementazione
public function get name():String
numControls | proprietà |
sampleInterval | proprietà |
sampleInterval:int
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.7 |
Specifica la frequenza (in millisecondi) a cui recuperare i valori di controllo. L'impostazione predefinita è 0, a indicare che i valori vengono aggiornati una volta per fotogramma. Se si imposta un valore sampleValue
più elevato, GameInput campionerà i valori dei controlli a una velocità più elevata rispetto alla frequenza fotogrammi dell'applicazione.
Anche se i valori possono essere aggiornati con maggiore frequenza rispetto a una volta per fotogramma, viene sempre inviato un solo evento per controllo. Di conseguenza, se due aggiornamenti a un valore si verificano in un solo fotogramma, viene inviato un solo evento di modifica e solo il valore più recente può essere recuperato.
Per recuperare altri valori rispetto al più recente, potete memorizzare nella cache valori campione utilizzando i metodi di cache di questa classe. Quando memorizzate nella cache valori campionati, questa proprietà determina con quale frequenza i valori vengono scritti nella cache.
Il valore predefinito è 0.
Implementazione
public function get sampleInterval():int
public function set sampleInterval(value:int):void
Genera
IOError — Se il dispositivo è disattivato durante l'impostazione di questa proprietà.
| |
RangeError — Se sampleInterval è inferiore a 0.
|
getCachedSamples | () | metodo |
public function getCachedSamples(data:ByteArray, append:Boolean = false):int
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.7 |
Scrive valori campione memorizzati nella cache in ByteArray
. I valori campione memorizzati nella cache vengono scritti in ByteArray
nello stesso ordine in cui vengono recuperati (prima i valori più vecchi, poi i più recenti).
Questo metodo restituisce il numero di valori campione memorizzati nella cache scritti in ByteArray
(non i valori stessi). Se il parametro append
è false
(impostazione predefinita), il contenuto di ByteArray
viene cancellato prima di scrivere i valori campione dalla cache. Se il parametro append
è true, i valori campione vengono aggiunti a ByteArray
, conservando i valori precedenti. Aggiungete valori campione se:
- Dovete mantenere un numero specifico di valori disponibile.
- Dovete mantenere una cronologia più grande della cache.
append
è true
, è responsabilità dell'applicazione cancellare il contenuto di ByteArray
. Se il contenuto di ByteArray
non viene cancellato, le sue dimensioni continueranno a crescere, rischiando di mandare in crash l'applicazione.
La cache viene cancellata dopo che i valori campione sono stati scritti in ByteArray
.
Se il dispositivo viene disattivato quando viene chiamato questo metodo, viene generato un errore IOError
.
Parametri
data:ByteArray — Il ByteArray contenente i dati recuperati. Viene compilato con valori campione scritti come doppi. Il ByteArray contiene NaN come valore di un controllo nel caso in cui non venga rilevata alcuna modifica nella posizione del controllo.
| |
append:Boolean (default = false ) — Un contrassegno determina come i dati vengono scritti in ByteArray . Se è true , i valori campionati vengono scritti alla fine dell'array. Se è false , il contenuto di ByteArray viene rimosso e i dati vengono scritti nell'array. Il valore predefinito è false .
|
int — Il numero dei campioni (non valori) scritti in ByteArray .
|
Genera
ArgumentError — Quando data è null.
| |
IOError — Se viene inviata una chiamata a questo metodo e il dispositivo è disabilitato.
|
getControlAt | () | metodo |
public function getControlAt(i:int):GameInputControl
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.7 |
Recupera un controllo specifico da un dispositivo.
GameInputDevice memorizza i controlli di un dispositivo in un elenco. Potete accedere ai singoli controlli di un dispositivo utilizzando il metodo getControlAt()
.
L’ordine del controllo nell’indice può cambiare ogni volta che un dispositivo viene aggiunto o rimosso. Potete controllare la proprietà ID
di un oggetto GameInputControl
che corrisponde a un controllo specifico.
Potete ottenere i controlli anche se il dispositivo non è attivato. Tuttavia, non potete leggere i valori dei controlli da un dispositivo disattivato. Questa funzione consente di leggere le proprietà di un controllo prima di abilitare il dispositivo a cui esso appartiene. Potete usare questa funzionalità per determinare se un dispositivo è appropriato per la vostra applicazione prima di abilitarlo.
Parametri
i:int — La posizione di indice di GameInputControl nell'elenco GameInputControl.
|
GameInputControl — L'oggetto GameInputControl nella posizione di indice specificata.
|
Genera
RangeError — Se l'indice è inferiore a zero o superiore a (numControls - 1) .
|
startCachingSamples | () | metodo |
public function startCachingSamples(numSamples:int, controls:Vector.<String>):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.7 |
Richiede al dispositivo di iniziare a gestire una cache per i valori di campionamento. La proprietà sampleInterval
determina la frequenza di campionamento. Il parametro numSamples
specifica il numero di campioni da memorizzare nella cache. Il parametro controls
specifica i valori ID dei controlli da campionare.
I valori dei controlli vengono memorizzati nella cache nell'ordine specificato. Potete recuperare i valori campionati mediante una chiamata al metodo getCachingSamples
.
Se la memoria richiesta per memorizzare i valori campionati nella cache è superiore al valore specificato nella costante MAX_BUFFER_SIZE
, questo metodo genera un errore MemoryError
. Se il dispositivo non viene attivato prima di effettuare una chiamata a questo metodo, viene generato un errore IOError
.
Parametri
numSamples:int — Il numero di campioni da memorizzare nella cache. Durante il recupero dei campioni, otterrete sempre un numero di campioni inferiore o uguale a numSamples .
| |
controls:Vector.<String> — Un vettore di String . Ogni stringa è un ID di un controllo. I campioni vengono scritti nello stesso ordine fornito in questo vettore.
|
Genera
RangeError — Se numSamples è inferiore o uguale a zero o se una voce in controls è inferiore a zero o superiore a (numControls - 1) .
| |
ArgumentError — Quando i controlli sono null oppure non contengono almeno una voce o contengono voci non valide.
| |
IOError — Se questo metodo viene chiamato su un dispositivo disabilitato.
| |
MemoryError — Se le dimensioni della cache (numero di valori * campioni) sono maggiori di MAX_BUFFER_SIZE .
|
stopCachingSamples | () | metodo |
public function stopCachingSamples():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.7 |
Interrompe la memorizzazione nella cache dei campioni. Anche se gli eventi di modifica sui controlli continuano a essere inviati, nessun campione viene più memorizzato nella cache. I valori vengono ancora recuperati alla frequenza specificata da sampleInterval
, tuttavia, tali valori non vengono memorizzati nella cache. Di conseguenza, potete recuperare solo l'ultimo valore.
Genera
IOError — Se effettuate una chiamata a questo metodo senza prima attivare il dispositivo.
|
MAX_BUFFER_SIZE | Costante |
public static const MAX_BUFFER_SIZE:int = 32000
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.7 |
Specifica le dimensioni massime del buffer utilizzato per memorizzare i valori dei controlli campionati. Se startCachingSamples
restituisce campioni che richiedono più memoria di quella specificata, viene generato un errore di memoria.
Tue Jun 12 2018, 02:44 PM Z