Paket | flash.ui |
Klasse | public final class GameInput |
Vererbung | GameInput EventDispatcher Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 3.7 |
GameInput-Klasse
ist der Einsprungspunkt in die GameInput-API. Mit dieser API können Sie die Kommunikation zwischen einer Anwendung und Spieleingabegeräten (z. B. Joysticks, Gamepads, Wands) verwalten.
Der Hauptzweck dieser Klasse ist es, den Zugriff auf die unterstützten Eingabegeräte zu ermöglichen, die an die Anwendungsplattform angeschlossen sind. Diese statische Klasse zählt die angeschlossenen Eingabegeräte in einer Liste auf. Sie können mit der getDeviceAt(index:int)
-Methode auf ein Gerät aus der Liste zugreifen.
Die numDevices
-Eigenschaft gibt an, wie viele Eingabegeräte derzeit an Ihre Plattform angeschlossen sind. Verwenden Sie diesen Wert, um die oberen Grenze der Liste der Geräte zu bestimmen.
Verwenden Sie eine Instanz dieser Klasse, um Listener für Ereignisse zu verwenden, die Sie über das Hinzufügen und Entfernen von Eingabegeräten informieren. Gehen Sie folgendermaßen vor, um Listener für diese Ereignisse einzurichten:
-
Erstellen Sie eine Instanz der
GameInput
-Klasse. -
Fügen Sie Ereignis-Listener für die
GameInputEvent.DEVICE_ADDED
- undGameInputEvent.DEVICE_REMOVED
-Ereignisse hinzu. (Ereignisse können nur für eine Instanz der Klasse registriert werden.)
Diese Klasse verfügt auch über das isSupported
-Flag, das anzeigt, ob die GameInput-API auf Ihrer Plattform unterstützt wird.
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.
Unterscheidung eines Spieleingabegeräts von anderen, identischen Geräten
Bei Spielen für zwei oder mehr Spieler ist es wichtig, die einzelnen identischen Eingabegeräte voneinander zu unterscheiden. So müssen Anwendungen feststellen können, welches Gerät „Spieler 1“, „Spieler 2“ usw. repräsentiert.
Lösung:
-
Fügen Sie Ereignis-Listener für jede Steuerung bei allen nicht erkannten Eingabegeräten hinzu. Diese Ereignis-Listener melden
Event.CHANGE
-Ereignisse, die abgesetzt werden, wenn sich der Wert einer Steuerung ändert. - Wenn eine Steuerung erstmals aktiviert wird (zum Beispiel durch Drücken einer Taste oder Betätigen eines Auslösers), versieht die Anwendung dieses Gerät mit einer Kennung.
- Entfernen Sie alle Ereignis-Listener von den verbleibenden unerkannten Eingabegeräten.
- Wiederholen Sie die Schritte 1-3 so oft, bis alle unerkannten Eingabegeräte identifiziert wurden.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
isSupported : Boolean [statisch] [schreibgeschützt]
Zeigt an, ob die aktuelle Plattform die GameInput-API unterstützt. | GameInput | ||
numDevices : int [statisch] [schreibgeschützt]
Gibt die Anzahl der angeschlossenen Eingabegeräte an. | GameInput |
Methode | Definiert von | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | EventDispatcher | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
[statisch]
Ruft das Eingabegerät an der angegebenen Indexposition in der Liste der angeschlossenen Eingabegeräte ab. | GameInput | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
Ereignis | Übersicht | Definiert von | ||
---|---|---|---|---|
[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird. | EventDispatcher | |||
[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird. | EventDispatcher | |||
Wird abgesetzt, wenn ein Spieleingabegerät an die Plattform angeschlossen wird, oder wenn ein bereits angeschlossenes Gerät eingeschaltet wird. | GameInput | |||
Wird abgesetzt, wenn ein Spieleingabegerät von der Plattform entfernt wird, oder wenn ein angeschlossenes Gerät ausgeschaltet wird. | GameInput | |||
Wird ausgelöst, wenn ein Spieleingabegerät verbunden ist, aber nicht verwendet werden kann. | GameInput |
isSupported | Eigenschaft |
numDevices | Eigenschaft |
getDeviceAt | () | Methode |
public static function getDeviceAt(index:int):GameInputDevice
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 3.7 |
Ruft das Eingabegerät an der angegebenen Indexposition in der Liste der angeschlossenen Eingabegeräte ab.
Die Reihenfolge der Geräte im Index kann sich ändern, wenn ein Gerät hinzugefügt oder entfernt wird. Sie können die Eigenschaften name
und id
eines GameInputDevice
-Objekts überprüfen, um ein bestimmtes Eingabegerät zuzuordnen.
Parameter
index:int — Die Indexposition in der Liste der Eingabegeräte.
|
GameInputDevice — Das angegebene GameInputDevice .
|
Auslöser
RangeError — Wenn der angegebene Index kleiner als null oder größer als (numDevices - 1) ist.
|
deviceAdded | Ereignis |
flash.events.GameInputEvent
Wird abgesetzt, wenn ein Spieleingabegerät an die Plattform angeschlossen wird, oder wenn ein bereits angeschlossenes Gerät eingeschaltet wird.
deviceRemoved | Ereignis |
flash.events.GameInputEvent
Wird abgesetzt, wenn ein Spieleingabegerät von der Plattform entfernt wird, oder wenn ein angeschlossenes Gerät ausgeschaltet wird.
deviceUnusable | Ereignis |
flash.events.GameInputEvent
Wird ausgelöst, wenn ein Spieleingabegerät verbunden ist, aber nicht verwendet werden kann. Dieses Ereignis ist nur unter Windows verfügbar. Beispielsweise kann dies in einem Browser in einer Windows Sandbox-Umgebung geschehen, wenn eine andere auf DirectInput basierende Anwendung das Gerät bereits verwendet.
Tue Jun 12 2018, 10:04 AM Z