Pakket | flash.ui |
Klasse | public final class GameInputDevice |
Overerving | GameInputDevice Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3.7 |
GameInputDevice
-klasse vertegenwoordigt één invoerapparaat dat vaak wordt gebruikt voor gaming.
Deze klasse bevat methoden en eigenschappen die u kunt gebruiken om:
-
Schakel een invoerapparaat in of uit. Apparaten zijn in eerste instantie standaard uitgeschakeld (
enabled
is ingesteld opfalse
). U dient een apparaat expliciet in te schakelen doorenabled
in te stellen optrue
om de besturingselementwaarden van het apparaat te kunnen opvragen. -
Haal de naam en de id van een invoerapparaat op. De eigenschappen
name
enid
vormen samen een unieke identificatie voor een apparaat. Voor Android-apparaten levert de producent van het apparaat deze waarden. Bij iOS-apparaten wordt deid
telkens gewijzigd wanneer u het apparaat koppelt. -
Som de besturingselementen van een invoerapparaat op. Fysieke besturingselementen op een apparaat worden toegewezen aan logische
GameInputControl
-objecten en worden in een lijst opgeslagen. U krijgt toegang tot een besturingselement in de lijst met behulp van degetControlAt()
-methode. -
Beheer het in de cache plaatsen van gesamplede besturingselementwaarden. Een set besturingselementwaarden rechtstreeks van een apparaatobject samplen is een van de drie manieren of besturingselementwaarden op te halen. (De twee andere manieren maken gebruik van de
value
-methode op deGameInputControl
-klasse en worden daar beschreven.) Het in de cache plaatsen van samples is nuttig wanneer u toegang moet krijgen tot besturingselementwaarden aan een snelheid die hoger ligt dan de framesnelheid van een toepassing.
Stel altijd een listener in op deze klasse voor de GameInputEvent.DEVICE_REMOVED
-gebeurtenis. Met deze listener kunt u omgaan met een apparaat dat onverwachts wordt losgekoppeld of uitgeschakeld. Wanneer een apparaat wordt losgekoppeld, maakt u het GameInputDevice
-object ervan vrij, omdat het object niet langer geldig is nadat het apparaat dat eraan verbonden is, is losgekoppeld.
Als u een Android-apparaat loskoppelt en vervolgens opnieuw koppelt, behoudt het apparaat de id die werd gebruikt toen het apparaat de eerste keer werd verbonden. U kunt logischerwijze opnieuw verbinding maken met een apparaat door de id ervan overeen te laten stemmen. Bij iOS-apparaten wordt de id mogelijk gewijzigd wanneer u het apparaat opnieuw koppelt.
Opmerking: u kunt niet vertrouwen op de volgorde van de apparaten in de lijst. (De volgorde kan veranderen wanneer apparaten worden toegevoegd en verwijderd.)
Raadpleeg voor meer informatie het Adobe AIR Developer Center-artikel:Spelbesturingen op Adobe AIR.
Voor Android biedt deze functie ondersteuning voor Android OS-versies vanaf 4.1 en wordt SWF-versie 20 of hoger en een naamruimteversie van 3.7 of hoger vereist. Voor iOS biedt deze functie ondersteuning voor iOS-versies vanaf 9.0 en wordt SWF-versie 34 of hoger en een naamruimteversie van 23.0 of hoger vereist.
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
enabled : Boolean
Schakelt het apparaat in of uit. | GameInputDevice | ||
id : String [alleen-lezen]
Retourneert de id van dit apparaat. | GameInputDevice | ||
name : String [alleen-lezen]
Retourneert de naam van dit apparaat. | GameInputDevice | ||
numControls : int [alleen-lezen]
Retourneert het aantal besturingselementen op dit apparaat. | GameInputDevice | ||
sampleInterval : int
Geeft de snelheid (in milliseconden) op waarop de besturingselementwaarden moeten worden opgehaald. | GameInputDevice |
Methode | Gedefinieerd door | ||
---|---|---|---|
Schrijft in de cache geplaatste samplewaarden naar de ByteArray. | GameInputDevice | ||
Haalt een specifiek besturingselement van een apparaat op. | GameInputDevice | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Vraagt dit apparaat een cache bij te houden van gesamplede waarden. | GameInputDevice | ||
Stopt het in de cache plaatsen van samples. | GameInputDevice | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
Constante | Gedefinieerd door | ||
---|---|---|---|
MAX_BUFFER_SIZE : int = 32000 [statisch]
Geeft de maximumgrootte op voor de buffer die wordt gebruikt om gesamplede besturingselementwaarden in de cache te plaatsen. | GameInputDevice |
enabled | eigenschap |
enabled:Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3.7 |
Schakelt het apparaat in of uit. Apparaten worden standaard uitgeschakeld. Schakel een apparaat in om toegang te krijgen tot de besturingselementwaarden ervan of om deze te samplen. Een apparaat en de afzonderlijke besturingselementen ervan verzenden bovendien alleen gebeurtenissen wanneer het apparaat is ingeschakeld.
Wanneer een apparaat wordt verwijderd, wordt het uitgeschakeld. U kunt nog steeds informatie opvragen over een uitgeschakeld apparaat, maar u krijgt geen toegang tot de besturingselementwaarden en u kunt het in de cache plaatsen niet starten. U kunt ook het apparaat niet inschakelen als het verwijderd is. Als een apparaat is verwijderd, retourneert enabled
altijd de waarde false
.
Implementatie
public function get enabled():Boolean
public function set enabled(value:Boolean):void
id | eigenschap |
id:String
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3.7 |
Retourneert de id van dit apparaat. U kunt de apparaten onderscheiden door middel van hun id's.
Opmerking: Voor Android-apparaten biedt de fabrikant apparaat-id's. Bij iOS-apparaten wordt de id mogelijk gewijzigd wanneer u het apparaat opnieuw koppelt.
Implementatie
public function get id():String
name | eigenschap |
name:String
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3.7 |
Retourneert de naam van dit apparaat. De naam kan u helpen om het type apparaat te identificeren.
Opmerking: de producent van het apparaat biedt de namen van zijn apparaten.
Implementatie
public function get name():String
numControls | eigenschap |
sampleInterval | eigenschap |
sampleInterval:int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3.7 |
Geeft de snelheid (in milliseconden) op waarop de besturingselementwaarden moeten worden opgehaald. De standaardwaarde is 0, wat betekent dat waarden eenmaal per frame worden bijgewerkt. Als u een hogere sampleValue
instelt, wordt aangegeven dat GameInput besturingselementwaarden moet samplen aan een snelheid die hoger ligt dan de framesnelheid van de toepassing.
Hoewel waarden vaker dan één keer per frame kunnen worden bijgewerkt, wordt slechts één gebeurtenis verzonden per besturingselement. Hierdoor is het zo dat als er twee updates voor een waarde in één frame plaatsvinden, er slechts één wijzigingsgebeurtenis wordt verzonden en alleen de nieuwste waarde kan worden opgehaald.
Als u meer dan alleen de nieuwste waarde wilt ophalen, kunt u samplewaarden in de cache plaatsen door de cachemethoden in deze klasse te gebruiken. Als u gesamplede waarden in de cache plaatst, bepaalt deze eigenschap hoe frequentiewaarden naar de cache worden geschreven.
De standaardwaarde is 0.
Implementatie
public function get sampleInterval():int
public function set sampleInterval(value:int):void
Gegenereerde uitzondering
IOError — Als het apparaat is uitgeschakeld terwijl deze eigenschap wordt ingesteld.
| |
RangeError — Als de sampleInterval kleiner is dan 0.
|
getCachedSamples | () | methode |
public function getCachedSamples(data:ByteArray, append:Boolean = false):int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3.7 |
Schrijft in de cache geplaatste samplewaarden naar de ByteArray
. De in de cache geplaatste samplewaarden worden naar de ByteArray
geschreven in de volgorde waarin ze zijn opgehaald (oudste waarden eerst, nieuwste waarden laatst).
Deze methode retourneert het aantal in de cache geplaatste samplewaarden die naar de ByteArray
worden geschreven (niet de waarden zelf). Als de append
-parameter false
is (de standaardinstelling), wordt de ByteArray
gewist voordat de samplewaarden van de cache worden geschreven. Als append
true (waar) is, worden de samplewaarden aan de ByteArray
toegevoegd en worden de oudere waarden behouden. Voeg samplewaarden toe als:
- U moet een specifiek aantal waarden beschikbaar houden.
- U moet een geschiedenis bijhouden die groter is dan de cache.
append
true
is, is het de verantwoordelijkheid van de toepassing om de ByteArray
te wissen. Als de ByteArray
niet wordt gewist, blijft deze groeien waardoor de toepassing mogelijk zal vastlopen.
De cache wordt gewist nadat de samplewaarden naar de ByteArray
worden geschreven.
Een IOError
treedt op als het apparaat wordt uitgeschakeld wanneer deze methode wordt aangeroepen.
Parameters
data:ByteArray — De ByteArray die de opgehaalde gegevens bevat. Deze is gevuld met samplewaarden die als dubbele gegevens worden geschreven. ByteArray bevat NaN als waarde van een besturingselement voor het geval geen wijziging in de positie van het besturingselement is gevonden.
| |
append:Boolean (default = false ) — Een markering die bepaalt hoe de gegevens naar de ByteArray worden geschreven. In geval van true worden de gesamplede waarden naar het einde van de array geschreven. Indien false , wordt de inhoud van de ByteArray verwijderd en worden de gegevens vervolgens naar de array geschreven. De standaardwaarde is false .
|
int — Het aantal samples (niet waarden) dat naar de ByteArray wordt geschreven.
|
Gegenereerde uitzondering
ArgumentError — Wanneer data null is.
| |
IOError — Wanneer deze methode wordt aangeroepen en het apparaat wordt uitgeschakeld.
|
getControlAt | () | methode |
public function getControlAt(i:int):GameInputControl
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3.7 |
Haalt een specifiek besturingselement van een apparaat op.
GameInputDevice slaat de besturingselementen van een apparaat op in een lijst. Met de methode getControlAt()
krijgt u toegang tot de individuele besturingselementen van een apparaat.
De volgorde van besturing in de index kan wijzigen wanneer een apparaat wordt toegevoegd of verwijderd. U kunt de id
-eigenschap op een GameInputControl
-object inschakelen zodat dit overeenstemt met een specifiek besturingselement.
U kunt besturingselementen ophalen ook als een apparaat niet is ingeschakeld. U kunt echter geen besturingselementwaarden lezen van een uitgeschakeld apparaat. Met deze functie kunt u de eigenschappen van een besturingselement lezen voordat u het apparaat waartoe het behoort inschakelt. U kunt deze mogelijkheid gebruiken om te bepalen of een apparaat geschikt is voor uw toepassing voordat u het apparaat inschakelt.
Parameters
i:int — De indexpositie van het GameInputControl in de lijst met GameInputControls.
|
GameInputControl — Het GameInputControl-object op de opgegeven indexpositie.
|
Gegenereerde uitzondering
RangeError — Wanneer de index kleiner dan nul is of groter dan (numControls - 1) .
|
startCachingSamples | () | methode |
public function startCachingSamples(numSamples:int, controls:Vector.<String>):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3.7 |
Vraagt dit apparaat een cache bij te houden van gesamplede waarden. De sampleInterval
-eigenschap bepaalt de samplingfrequentie. De numSamples
-parameter geeft het aantal samples op dat in de cache moet worden geplaatst. De controls
-parameter geeft de id-waarden op van de besturingselementen die moeten worden gesampled.
Besturingselementwaarden worden in de opgegeven volgorde in de cache geplaatst. U haalt de gesamplede waarden op door de getCachingSamples()
-methode aan te roepen.
Als het geheugen dat vereist is om de gesamplede waarden in de cache te plaatsen, groter is dan de waarde die is opgegeven in de MAX_BUFFER_SIZE
-constante, treedt een MemoryError
op. Er treedt een IOError
op als het apparaat niet is ingeschakeld voordat deze methode wordt aangeroepen.
Parameters
numSamples:int — Het aantal samples die in de cache moeten worden opgeslagen. Als u samples ophaalt, krijgt u altijd minder dan of gelijk aan numSamples .
| |
controls:Vector.<String> — Een vector van String . Elke String is een id van een besturingselement. De samples worden in dezelfde volgorde geschreven als in deze vector wordt opgegeven.
|
Gegenereerde uitzondering
RangeError — Wanneer numSamples kleiner is dan of gelijk aan nul, of wanneer een item in controls kleiner is dan nul of groter dan (numControls - 1) .
| |
ArgumentError — Wanneer een besturingselement null is of niet ten minste één item bevat of ongeldige items bevat.
| |
IOError — Wanneer deze methode wordt aangeroepen op een uitgeschakeld apparaat.
| |
MemoryError — Wanneer de cachegrootte (aantal waarden * samples) groter is dan MAX_BUFFER_SIZE .
|
stopCachingSamples | () | methode |
public function stopCachingSamples():void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3.7 |
Stopt het in de cache plaatsen van samples. Hoewel wijzigingsgebeurtenissen op besturingselementen nog steeds worden verzonden, worden er geen samples meer opgeslagen in de cache. Waarden worden nog steeds opgehaald aan de frequentie die is opgegeven door sampleInterval
, hoewel dergelijke waarden niet in de cache worden opgeslagen. Hierdoor kunt u alleen de laatste waarde ophalen.
Gegenereerde uitzondering
IOError — Als u deze methode aanroept zonder dat het apparaat eerst is ingeschakeld.
|
MAX_BUFFER_SIZE | Constante |
public static const MAX_BUFFER_SIZE:int = 32000
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3.7 |
Geeft de maximumgrootte op voor de buffer die wordt gebruikt om gesamplede besturingselementwaarden in de cache te plaatsen. Als startCachingSamples
samples retourneert die meer geheugen nodig hebben dan u hebt opgegeven, treedt er een geheugenfout op.
Wed Jun 13 2018, 11:42 AM Z