ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.ui 

GameInputDevice  - AS3

Paketflash.ui
Klassepublic final class GameInputDevice
VererbungGameInputDevice Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Die GameInputDevice-Klasse repräsentiert ein einzelnes Eingabegerät, das häufig für Spiele verwendet wird.

Mit den Methoden und Eigenschaften dieser Klasse können Sie Folgendes ausführen:

  • Aktivieren oder deaktivieren Sie ein Eingabegerät. Geräte sind anfangs standardmäßig deaktiviert (enabled hat den Wert false). Sie müssen ein Gerät ausdrücklich aktivieren, indem Sie enabled auf true setzen, bevor Sie Steuerungswerte von dem Gerät abrufen können.
  • Den Namen und die ID eines Eingabegeräts abrufen. Zusammen können die name- und id-Eigenschaften ein Gerät eindeutig identifizieren. Bei Adroid-Geräten legt der Geräteherstellung diese Werte fest. Bei iOS-Geräten kann sich die ID jedes Mal ändern, wenn Sie das Gerät anschließen.
  • Die Steuerungen eines Eingabegeräts aufzählen. Die physischen Steuerungen eines Geräts werden logischen GameInputControl-Objekten zugeordnet und in einer Liste gespeichert. Mit der getControlAt()-Methode haben Sie Zugriff auf eine Steuerung in der Liste.
  • Die Zwischenspeicherung gesampelter Steuerungswerte verwalten. Das Sampling einer Gruppe von Steuerungswerten direkt vom Geräteobjekt ist eine von drei Möglichkeiten, die Steuerungswerte abzurufen. (Die anderen beiden Möglichkeiten verwenden die value-Methode der GameInputControl-Klasse und werden dort beschrieben.) Sample-Caching ist hilfreich, wenn Sie schneller als die Framerate einer Anwendung auf Steuerungswerte zugreifen müssen.

Richten Sie immer einen Listener dieser Klasse für das GameInputEvent.DEVICE_REMOVED-Ereignis ein. Mithilfe des Listeners können Sie Situationen verarbeiten, in denen ein Gerät unerwartet getrennt oder ausgeschaltet wurde. Wenn ein Gerät getrennt wird, machen Sie sein GameInputDevice-Objekt verfügbar, da das Objekt nach der Trennung des zugeordneten Geräts nicht mehr gültig ist.

Ein Android-Gerät, das getrennt und dann erneut angeschlossen wird, behält die ID, die es beim ersten Anschließen hatte. Sie können ein Gerät logisch wieder anschließen, indem Sie seine ID zuordnen. Bei iOS-Geräten kann sich die ID ändern, wenn Sie das Gerät erneut anschließen.

Hinweis: Sie können sich nicht auf die Reihenfolge der Geräte in der Liste verlassen. (Die Reihenfolge kann sich beim Hinzufügen und Entfernen von Geräten ändern.)

Weitere Informationen finden Sie im Artikel zum Adobe Air Developer Center: Game controllers on Adobe AIR (Spielecontroller unter Adobe AIR).

Bei Android unterstützt diese Funktion Android OS-Versionen ab 4.1 und benötigt mindestens die SWF-Version 20 und Namespace 3.7. Bei iOS ist mindestens die iOS-Version 9.0, die SWF-Version 34 und Namespace 23.0 erforderlich.

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
      enabled : Boolean
Aktiviert oder deaktiviert dieses Gerät.
GameInputDevice
      id : String
[schreibgeschützt] Gibt die ID dieses Geräts zurück.
GameInputDevice
      name : String
[schreibgeschützt] Gibt den Namen dieses Geräts zurück.
GameInputDevice
      numControls : int
[schreibgeschützt] Gibt die Anzahl der Steuerungen bei diesem Gerät zurück.
GameInputDevice
      sampleInterval : int
Gibt die Häufigkeit (in Millisekunden) an, mit der Steuerungswerte abgerufen werden.
GameInputDevice
Öffentliche Methoden
 MethodeDefiniert von
  
    getCachedSamples(data:ByteArray, append:Boolean = false):int
Schreibt zwischengespeicherte Samplewerte in das ByteArray.
GameInputDevice
  
Ruft eine bestimmte Steuerung von einem Gerät ab.
GameInputDevice
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
    startCachingSamples(numSamples:int, controls:Vector.<String>):void
Fordert an, dass das Gerät einen Zwischenspeicher der gesampelten Werte anlegt.
GameInputDevice
  
Beendet das Zwischenspeichern der Samples.
GameInputDevice
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Öffentliche Konstanten
 KonstanteDefiniert von
      MAX_BUFFER_SIZE : int = 32000
[statisch] Legt die maximale Größe des Puffers fest, der zum Zwischenspeichern der gesampelten Steuerungswerte verwendet wird.
GameInputDevice
Eigenschaftendetails
    

enabled

Eigenschaft
enabled:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Aktiviert oder deaktiviert dieses Gerät. Standardmäßig sind Geräte deaktiviert. Aktivieren Sie ein Gerät, um darauf zuzugreifen oder dessen Steuerungswerte zu sampeln. Ereignisse werden nur dann von einem Gerät und dessen einzelnen Steuerungen abgesetzt, wenn das Gerät aktiviert ist.

Wenn ein Gerät entfernt wird, wird es deaktiviert. Sie können auch zu einem deaktivierten Gerät Informationen abrufen, Sie können jedoch nicht auf die Steuerungswerte zugreifen oder die Zwischenspeicherung starten. Ein Gerät, das entfernt wurde, kann nicht aktiviert werden. Wenn ein Gerät entfernt wird, gibt enabled immer den Wert false zurück.



Implementierung
    public function get enabled():Boolean
    public function set enabled(value:Boolean):void
    

id

Eigenschaft 
id:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Gibt die ID dieses Geräts zurück. Anhand der ID können Sie die Geräte voneinander unterscheiden.

Hinweis: Bei Android-Geräten legt der Gerätehersteller die Geräte-ID fest. Bei iOS-Geräten kann sich die ID ändern, wenn Sie das Gerät erneut anschließen.



Implementierung
    public function get id():String
    

name

Eigenschaft 
name:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Gibt den Namen dieses Geräts zurück. Der Name hilft bei der Identifizierung des Geräts.

Hinweis: Die Gerätenamen werden vom Gerätehersteller bereitgestellt.



Implementierung
    public function get name():String
    

numControls

Eigenschaft 
numControls:int  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Gibt die Anzahl der Steuerungen bei diesem Gerät zurück.



Implementierung
    public function get numControls():int
    

sampleInterval

Eigenschaft 
sampleInterval:int

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Gibt die Häufigkeit (in Millisekunden) an, mit der Steuerungswerte abgerufen werden. Die Standardeinstellung ist 0, was bedeutet, dass die Werte einmal pro Bild aktualisiert werden. Bei einem höheren Wert für sampleValue sampelt GameInput Steuerungswerte mit einer schnelleren Rate als die Framerate der Anwendung.

Auch wenn Werte häufiger als einmal pro Bild aktualisiert werden können, wird nur ein Ereignis pro Steuerung abgesetzt. Wenn ein Wert in einem Bild zweimal aktualisiert wird, wird also nur ein Änderungsereignis abgesetzt und nur der neueste Wert kann abgerufen werden.

Wenn Sie mehr als nur den neuesten Wert abrufen möchten, können Sie Samplewerte mit den Cache-Methoden dieser Klasse zwischenspeichern. Beim Speichern von gesampelten Werten im Cache bestimmt diese Eigenschaft, wie oft Werte in den Cache geschrieben werden.

Der Standardwert ist 0.



Implementierung
    public function get sampleInterval():int
    public function set sampleInterval(value:int):void

Auslöser
IOError — Wenn das Gerät deaktiviert ist, während diese Eigenschaft festgelegt wird.
 
RangeError — Wenn sampleInterval kleiner als 0 ist.
Methodendetails

    getCachedSamples

()Methode
public function getCachedSamples(data:ByteArray, append:Boolean = false):int

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Schreibt zwischengespeicherte Samplewerte in das ByteArray. Die zwischengespeicherten Samplewerte werden in der Reihenfolge in das ByteArray geschrieben, in der sie abgerufen wurden (älteste Werte zuerst, neueste zuletzt).

Diese Methode gibt die Anzahl der zwischengespeicherten Samplewerte an, die in das ByteArray geschrieben wurden (nicht die Werte selbst). Wenn der append-Parameter den Wert false (die Standardeinstellung) aufweist, wird das ByteArray geleert, bevor die Samplewerte aus dem Zwischenspeicher geschrieben werden. Wenn append den Wert „true“ hat, werden die Samplewerte an den Inhalt von ByteArray angehängt, sodass die älteren Werte erhalten bleiben. Sie sollten Samplewerte in den folgenden Fällen anhängen:

  • Es muss immer eine bestimmte Anzahl von Werten verfügbar sein.
  • Sie müssen ein Protokoll führen, das größer als der Cache ist.
Wichtig: Wenn append den Wert true hat, ist die Anwendung für das Leeren des ByteArray zuständig. Wenn das ByteArray nicht geleert wird, wird es immer größer, bis die Anwendung möglicherweise abstürzt.

Der Cache wird geleert, nachdem die Samplewerte in das ByteArray geschrieben wurden.

Ein IOError wird ausgegeben, wenn das Gerät beim Aufrufen der Methode deaktiviert ist.

Parameter

data:ByteArray — Das ByteArray, das die abgerufenen Daten enthält. Es ist mit Samplewerten gefüllt, die als Verdopplungen geschrieben werden. Das ByteArray enthält NaN als Wert eines Steuerelements, falls keine Änderungen an der Position des Steuerelements erkannt werden.
 
append:Boolean (default = false) — Ein Flag, das bestimmt, wie die Daten in das ByteArray geschrieben werden. Bei der Einstellung true werden die gesampelten Werte an das Ende des Arrays geschrieben. Bei der Einstellung false wird der Inhalt von ByteArray entfernt, bevor die Daten in das Array geschrieben werden. Der Standardwert ist false.

Rückgabewerte
int — Die Anzahl der Samples (nicht: Werte), die in das ByteArray geschrieben werden.

Auslöser
ArgumentError — Wenn data null ist.
 
IOError — Wenn diese Methode aufgerufen und das Gerät deaktiviert wird.

    getControlAt

()Methode 
public function getControlAt(i:int):GameInputControl

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Ruft eine bestimmte Steuerung von einem Gerät ab.

GameInputDevice speichert die Steuerungen auf einem Gerät in einer Liste. Sie können auf einzelne Steuerungen eines Geräts zugreifen, indem Sie die getControlAt()-Methode verwenden.

Die Reihenfolge des Steuerelements im Index kann sich ändern, wenn ein Gerät hinzugefügt oder entfernt wird. Sie können die ID-Eigenschaft auf einem GameInputControl-Objekt überprüfen, ob sie mit einem bestimmten Steuerelement übereinstimmt.

Sie können Steuerungen abrufen, auch wenn ein Gerät nicht aktiviert ist. Es ist jedoch nicht möglich, Steuerungswerte von einem deaktivierten Gerät abzurufen. Mit dieser Funktion können Sie die Eigenschaften einer Steuerung lesen, bevor Sie das zugehörige Gerät aktivieren. Auf diese Weise können Sie vor der Aktivierung eines Geräts feststellen, ob es sich für Ihre Anwendung eignet.

Parameter

i:int — Die Indexposition von GameInputControl in der GameInputControls-Liste.

Rückgabewerte
GameInputControl — Das GameInputControl-Objekt an der angegebenen Indexposition.

Auslöser
RangeError — Wenn der Index kleiner als null oder größer als (numControls - 1) ist.

    startCachingSamples

()Methode 
public function startCachingSamples(numSamples:int, controls:Vector.<String>):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Fordert an, dass das Gerät einen Zwischenspeicher der gesampelten Werte anlegt. Die sampleInterval-Eigenschaft bestimmt die Sampling-Häufigkeit. Der numSamples-Parameter gibt die Anzahl der Samples an, die zwischengespeichert werden sollen. Der controls-Parameter gibt die ID-Werte der zu sampelnden Steuerungen an.

Steuerungswerte werden in der angegebenen Reihenfolge zwischengespeichert. Sie rufen die gesampelten Werte ab, indem Sie die getCachingSamples()-Methode aufrufen.

Wenn der zum Speichern der gesampelten Werte erforderliche Speicher größer ist als der in der MAX_BUFFER_SIZE-Konstante angegebene Wert, wird ein MemoryError ausgegeben. Ein IOError wird ausgegeben, wenn das Gerät vor dem Aufrufen dieser Methode nicht aktiviert wurde.

Parameter

numSamples:int — Die Anzahl der Samples, die im Cache gespeichert werden sollen. Wenn Sie Samples abrufen, erhalten Sie immer eine Anzahl, die kleiner oder gleich numSamples ist.
 
controls:Vector.<String> — Ein Vektor von String. Jeder String ist eine ID eines Steuerelements. Die Samples werden in derselben Reihenfolge geschrieben, in der sie in diesem Vektor bereitgestellt werden.


Auslöser
RangeError — Wenn numSamples gleich oder kleiner als null ist oder wenn ein Eintrag in controls kleiner als null oder größer als (numControls - 1) ist.
 
ArgumentError — Wenn Steuerelemente null sind oder nicht mindestens einen Eintrag oder ungültige Einträge beinhalten.
 
IOError — Wenn diese Methode für ein deaktiviertes Gerät aufgerufen wird.
 
MemoryError — Wenn die Cachegröße (Anzahl der Werte * Samples) größer als MAX_BUFFER_SIZE ist.

    stopCachingSamples

()Methode 
public function stopCachingSamples():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Beendet das Zwischenspeichern der Samples. Zwar werden weiterhin Änderungsereignisse für Steuerungen abgesetzt, es werden jedoch keine weiteren Samples im Cache gespeichert. Werte werden weiterhin mit der in sampleInterval angegebenen Häufigkeit abgerufen, sie werden jedoch nicht mehr im Cache gespeichert. Deshalb können Sie nur den letzten Wert abrufen.


Auslöser
IOError — Wenn Sie diese Methode aufrufen, ohne das Gerät zuvor zu aktivieren.
Konstantendetails
    

MAX_BUFFER_SIZE

Konstante
public static const MAX_BUFFER_SIZE:int = 32000

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Legt die maximale Größe des Puffers fest, der zum Zwischenspeichern der gesampelten Steuerungswerte verwendet wird. Wenn startCachingSamples Samples zurückgibt, die mehr Speicher benötigen als Sie angegeben haben, wird ein Arbeitsspeicherfehler ausgegeben.





[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.