Package | flash.ui |
Classe | public final class GameInputDevice |
Héritage | GameInputDevice Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 3.7 |
GameInputDevice
représente un périphérique d’entrée unique couramment utilisé pour le jeu.
Cette classe comprend les méthodes et les propriétés que vous pouvez utiliser pour :
-
Activez ou désactivez un périphérique d’entrée. Les périphériques sont par défaut désactivés (
enabled
défini surfalse
). Vous devez explicitement activer un périphérique en définissantenabled
surtrue
avant de pouvoir obtenir les valeurs de contrôle du périphérique. -
Obtenir le nom et l’ID d’un périphérique d’entrée. Les propriétés
name
etid
utilisées conjointement identifient de manière unique un périphérique. Pour les appareils Android, ces valeurs sont fournies par le fabricant. Pour les appareils iOS, l’id
peut changer à chaque fois que vous connectez l’appareil. -
Enumérer les contrôles d’un périphérique d’entrée. Les contrôles physiques sur un périphérique sont mis en correspondance avec les objets
GameInputControl
logiques et sont stockés dans une liste. Vous pouvez accéder à un contrôle dans la liste à l’aide de la méthodegetControlAt()
. -
Gérer la mise en mémoire cache des valeurs de contrôle échantillonnées. Echantillonner un ensemble de valeurs de contrôle directement à partir d’un objet de périphérique est l’une des trois façons d’obtenir les valeurs de contrôle. (Les deux autres façons, décrites ci-dessous, utilisent la méthode
value
sur la classeGameInputControl
.) La mise en cache sous forme d’échantillonnage est utile lorsque vous devez accéder aux valeurs de contrôle à une cadence supérieure à celle d’une application.
Veillez à toujours définir un écouteur sur cette classe pour l’événement GameInputEvent.DEVICE_REMOVED
. Cet écouteur permet de gérer le cas d’un périphérique déconnecté ou mis hors tension de façon inattendue. Lors de la déconnexion d’un périphérique, libérez son objet GameInputDevice
, car l’objet n’est plus valide après la déconnexion du périphérique qui lui est associé.
Un appareil Android déconnecté, puis à nouveau connecté conserve l’ID qu’il possédait lors de sa connexion initiale. Vous pouvez logiquement vous reconnecter à un périphérique en faisant correspondre son ID. Pour les appareils iOS, l’ID peut changer quand vous reconnectez l’appareil.
Remarque : vous ne pouvez pas vous fier à l’ordre des périphériques de la liste. L’ordre peut se trouver modifié lors de la connexion et de la déconnexion de périphériques.
Pour en savoir plus, reportez-vous à l’article du Centre des développeurs d’Adobe Air : Contrôleurs de jeu sur Adobe AIR.
Sous Android, cette fonction est compatible avec la version 4.1 ou ultérieure du système d’exploitation Android ; SWF version 20 ou ultérieure et un espace de noms version 3.7 ou ultérieure sont requis. Sous iOS, prend en charge la version 9.0 et requiert SWF version 34 ou ultérieure et un espace de noms version 23.0 ou ultérieure.
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
enabled : Boolean
Active ou désactive ce périphérique. | GameInputDevice | ||
id : String [lecture seule]
Renvoie l’ID de ce périphérique. | GameInputDevice | ||
name : String [lecture seule]
Renvoie le nom de ce périphérique. | GameInputDevice | ||
numControls : int [lecture seule]
Renvoie le nombre de commandes de ce périphérique. | GameInputDevice | ||
sampleInterval : int
Indique le débit (en millisecondes) auquel récupérer les valeurs de contrôle. | GameInputDevice |
Méthode | Défini par | ||
---|---|---|---|
Ecrit les valeurs d’échantillons mis en cache sur l’objet ByteArray. | GameInputDevice | ||
Récupère un contrôle spécifique à partir d’un périphérique. | GameInputDevice | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
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 | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Demande à ce périphérique de commencer la mise en cache des valeurs échantillonnées. | GameInputDevice | ||
Arrête la mise en cache de l’échantillon. | GameInputDevice | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
Constante | Défini par | ||
---|---|---|---|
MAX_BUFFER_SIZE : int = 32000 [statique]
Spécifie la taille maximale de la mémoire tampon utilisée pour mettre en cache les valeurs de contrôles échantillonnées. | GameInputDevice |
enabled | propriété |
enabled:Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 3.7 |
Active ou désactive ce périphérique. Les périphériques sont désactivés par défaut. Activez un périphérique pour accéder à ses valeurs de contrôle ou les échantillonner. Par ailleurs, un périphérique et ses contrôles individuels distribuent des événements uniquement lorsque le périphérique est activé.
Lorsqu’un périphérique est supprimé, il est désactivé. Vous pouvez toujours obtenir des informations sur un périphérique désactivé, mais vous ne pouvez pas accéder aux valeurs de contrôle ou démarrer la mise en cache. Par ailleurs, vous ne pouvez pas activer le périphérique s’il elle a été déconnecté. Si un périphérique est déconnecté, enabled
renvoie toujours false
.
Implémentation
public function get enabled():Boolean
public function set enabled(value:Boolean):void
id | propriété |
id:String
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 3.7 |
Renvoie l’ID de ce périphérique. Vous pouvez différencier les périphériques par leurs ID.
Remarque : Pour les appareils Android, cette information est fournie par le fabricant. Pour les appareils iOS, l’ID peut changer quand vous reconnectez l’appareil.
Implémentation
public function get id():String
name | propriété |
name:String
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 3.7 |
Renvoie le nom de ce périphérique. Le nom peut aider à identifier le type de périphérique.
Remarque : le fabricant du périphérique fournit les noms de ses périphériques.
Implémentation
public function get name():String
numControls | propriété |
sampleInterval | propriété |
sampleInterval:int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 3.7 |
Indique la cadence (en millisecondes) à laquelle récupérer les valeurs de contrôle. La valeur par défaut est 0, ce qui signifie que les valeurs sont mises à jour une fois par image. La définition d’une valeur sampleValue
supérieure pousse GameInput à échantillonner les valeurs de contrôle à une cadence plus rapide que celle de l’application.
Bien que les valeurs puissent être mises à jour plus fréquemment qu’une fois par image, seul un événement par contrôle est distribué. Par conséquent, si deux mises à jour d’une valeur se produisent dans une seule image, seul un événement change est distribué et seule la valeur la plus récente peut être récupérée.
Pour récupérer d’autres valeurs que la valeur la plus récente, vous pouvez mettre en cache les valeurs d’échantillon à l’aide des méthodes de mise en cache de cette classe. Lorsque vous mettez en cache des valeurs échantillonnées, cette propriété détermine la fréquence à laquelle les valeurs sont écrites dans la mémoire cache.
La valeur par défaut est 0.
Implémentation
public function get sampleInterval():int
public function set sampleInterval(value:int):void
Valeur émise
IOError — Lorsque le périphérique est désactivé lors de la définition de cette propriété.
| |
RangeError — Lorsque la propriété sampleInterval est inférieure à 0.
|
getCachedSamples | () | méthode |
public function getCachedSamples(data:ByteArray, append:Boolean = false):int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 3.7 |
Ecrit les valeurs d’échantillons mis en cache sur l’objet ByteArray
. Les valeurs d’échantillons mis en cache sont écrites dans le ByteArray
dans l’ordre où elles ont été récupérées (valeurs plus anciennes en premier, valeurs plus récentes en dernier).
Cette méthode renvoie le nombre de valeurs d’échantillons mis en cache écrites dans le ByteArray
(et non des valeurs elles-mêmes). Si le paramètre append
est false
(valeur par défaut), l’objet ByteArray
est supprimé avant que les valeurs d’échantillon soient écrites à partir du cache. Si append
est true, les valeurs d’échantillon sont ajoutées au ByteArray
et les anciennes valeurs sont préservées. Ajoutez les valeurs d’échantillon si :
- Vous devez conserver un certain nombre de valeurs disponibles.
- Vous devez conserver un historique plus grand que la mémoire cache.
append
est true
, il incombe à l’application de supprimer l’objet ByteArray
. Si l’objet ByteArray
n’est pas supprimé, il continue de grandir, ce qui risque de provoquer un blocage de l’application.
Le cache est effacé après que les valeurs d’échantillon sont écrites dans le ByteArray
.
Une erreur IOError
est renvoyée si le périphérique est désactivé lorsque cette méthode est appelée.
Paramètres
data:ByteArray — Objet ByteArray qui contient les données récupérées. Il est rempli par les valeurs d’échantillon écrites en double. ByteArray contient la valeur NaN pour un contrôle dans le cas où aucune modification n’est détectée quant à sa position.
| |
append:Boolean (default = false ) — Indicateur qui détermine le mode d’écriture des données dans le ByteArray . Si cette valeur est définie sur true , les valeurs échantillonnées sont ajoutées à la fin du tableau. Si la valeur est définie sur false , le contenu de l’objet ByteArray est supprimé, puis les données sont écrites dans le tableau. La valeur par défaut est false .
|
int — Nombre d’échantillons (et non le nombre de valeurs) écrit sur le ByteArray .
|
Valeur émise
ArgumentError — Lorsque data est null.
| |
IOError — Lorsque cette méthode est appelée et que le périphérique est désactivé.
|
getControlAt | () | méthode |
public function getControlAt(i:int):GameInputControl
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 3.7 |
Récupère un contrôle spécifique à partir d’un périphérique.
GameInputDevice enregistre les contrôles d’un périphérique dans une liste. Vous pouvez accéder aux commandes individuelles sur un périphérique à l’aide de la méthode getControlAt()
.
L’ordre des contrôles dans l’index peut changer chaque fois qu’un périphérique est connecté ou déconnecté. Vous pouvez vérifier la propriété id
sur un objet GameInputControl
et la faire correspondre à un contrôle spécifique.
Vous pouvez obtenir les contrôles même si un périphérique n’est pas activé. En revanche, vous ne pouvez pas lire les valeurs de contrôle à partir d’un périphérique désactivé. Cette fonction permet de lire les propriétés d’un contrôle avant d’activer le périphérique auquel il appartient. Vous pouvez utiliser cette fonctionnalité pour déterminer si un périphérique est convient à votre application avant d’activer le périphérique.
Paramètres
i:int — La position d’index de l’objet GameInputControl dans la liste des objets GameInputControl.
|
GameInputControl — L’objet GameInputControl dans la position d’index spécifiée.
|
Valeur émise
RangeError — Lorsque l’index est inférieur à zéro ou supérieur à (numControls - 1) .
|
startCachingSamples | () | méthode |
public function startCachingSamples(numSamples:int, controls:Vector.<String>):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 3.7 |
Demande à ce périphérique de commencer la mise en cache des valeurs échantillonnées. La propriété sampleInterval
détermine la fréquence d’échantillonnage. Le paramètre numSamples
spécifie le nombre d’échantillons à mettre en cache. Le paramètre controls
spécifie les valeurs d’ID des contrôles à échantillonner.
Les valeurs de contrôle sont mises en cache dans l’ordre spécifié. Pour récupérer les valeurs échantillonnées, appelez la méthode getCachingSamples()
.
Si la quantité de mémoire nécessaire pour mettre en cache les valeurs échantillonnées est supérieure à la valeur spécifiée dans la constante MAX_BUFFER_SIZE
, cette méthode renvoie une erreur MemoryError
. Une erreur IOError
est renvoyée si le périphérique n’a pas été activé avant l’appel de cette méthode.
Paramètres
numSamples:int — Nombre d’échantillons à stocker dans la mémoire cache. Lors de la récupération des échantillons, vous obtenez toujours une valeur inférieure ou égale à numSamples .
| |
controls:Vector.<String> — Vecteur de chaîne . Chaque chaîne est un ID de commande. Les échantillons sont écrits dans le même ordre que celui fourni dans ce vecteur.
|
Valeur émise
RangeError — Lorsque le paramètre numSamples est inférieur ou égal à zéro, ou lorsqu’une entrée dans controls est inférieure à zéro ou supérieure à (numControls - 1) .
| |
ArgumentError — Lorsque la valeur des commandes est null , qu’elle ne contient aucune entrée ou qu’elle contient des entrées non valides.
| |
IOError — Lorsque cette méthode est appelée sur un périphérique désactivé.
| |
MemoryError — Lorsque la taille de la mémoire cache (nombre de valeurs * échantillons) est plus grand que MAX_BUFFER_SIZE .
|
stopCachingSamples | () | méthode |
public function stopCachingSamples():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 3.7 |
Arrête la mise en cache de l’échantillon. Bien que les événements change soient toujours distribués sur les contrôles, plus aucun échantillon n’est enregistré dans la mémoire cache. Bien que les valeurs soient toujours récupérées à la fréquence spécifiée par sampleInterval
, elles ne sont pas stockées dans la mémoire cache. Vous pouvez donc uniquement récupérer la dernière valeur.
Valeur émise
IOError — Lorsque vous appelez cette méthode sans activer préalablement le périphérique.
|
MAX_BUFFER_SIZE | Constante |
public static const MAX_BUFFER_SIZE:int = 32000
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 3.7 |
Spécifie la taille maximale de la mémoire tampon utilisée pour mettre en cache les valeurs de contrôles échantillonnées. Si startCachingSamples
renvoie des échantillons qui nécessitent davantage de mémoire que celle spécifiée, une erreur de mémoire est renvoyée.
Tue Jun 12 2018, 09:30 AM Z