GameController Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller.
Klassen
| Name | Beschreibung |
|---|---|
| GCColor |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCController |
Ein Gamecontroller, entweder formpassend oder erweitert drahtlos. |
| GCController.Notifications |
Von der GCController Klasse gepostete Benachrichtigungen. |
| GCControllerAxisInput |
Ein GCControllerElement Joystick, der einen Joystick darstellt. |
| GCControllerButtonInput |
A GCControllerElement representing a game-controller button. |
| GCControllerDirectionPad |
A GCControllerElement representing a direction-pad. |
| GCControllerElement |
Die Basisklasse für Eingabeelemente eines Gamecontrollers. |
| GCControllerHomeButtonSettingsManager |
Bietet Zugriff auf die Systemeinstellungen für das Verhalten der Starttaste des Controllers. |
| GCControllerInputState |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCControllerLiveInput |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCControllerTouchpad |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCControllerUserCustomizations |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCControllerUserCustomizations.Notifications |
Von der GCControllerUserCustomizations Klasse gepostete Benachrichtigungen. |
| GCDeviceBattery |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDeviceCursor |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDeviceHaptics |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDeviceLight |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDirectionalGamepad |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDualSenseAdaptiveTrigger |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDualSenseGamepad |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDualShockGamepad |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCEventInteraction |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCEventViewController |
Ansichtscontroller, der die Ereignisübermittlung zwischen der Responderkette und dem Gamecontroller wechseln kann. |
| GCExtendedGamepad |
Ein Gamepad mit zwei Schultertasten, zwei Triggern, zwei Ministicks, einem D-Pad und einem direktionalen Tastenarray. |
| GCExtendedGamepadSnapshot |
Eine serialisierbare Momentaufnahme des Zustands des Gamecontrollers. |
| GCGameControllerActivationContext |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCGameControllerSceneDelegate |
Dies ist eine Klasse, die die Schnittstelle IGCGameControllerSceneDelegate implementiert (für das Protokoll Unterklasse dieser Klasse zum einfachen Erstellen eines Typs, der das Protokoll implementiert. Eine Alternative besteht darin, eine Unterklasse von NSObject und dann die Schnittstelle IGCGameControllerSceneDelegatezu erstellen. |
| GCGamepad |
Ein Gamepad mit zwei Schultertasten, einem D-Pad und einem direktionalen Schaltflächenarray. |
| GCGamepadSnapshot |
Eine serialisierbare Momentaufnahme des Zustands des Gamecontrollers. |
| GCGearShifterElement |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCHapticsLocality |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCInput |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCInputAxisNameExtensions |
Erweiterungsmethoden für die GCInputAxisName Enumeration. |
| GCInputButtonNameExtensions |
Erweiterungsmethoden für die GCInputButtonName Enumeration. |
| GCInputDirectionalExtensions |
Erweiterungsmethoden für die GCInputDirectional Enumeration. |
| GCInputDirectionPadNameExtensions |
Erweiterungsmethoden für die GCInputDirectionPadName Enumeration. |
| GCInputElementNameExtensions |
Erweiterungsmethoden für die GCInputElementName Enumeration. |
| GCInputMicroGamepadExtensions |
Erweiterungsmethoden für die GCInputMicroGamepad Enumeration. |
| GCInputXbox |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCKey |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCKeyboard |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCKeyboard.Notifications |
Von der GCKeyboard Klasse gepostete Benachrichtigungen. |
| GCKeyboardInput |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCKeyCode |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCMicroGamepad |
Eine logische Zuordnung von Hardwarecontroller-Steuerelementen zu einer Reihe von In-Game-Elementen. |
| GCMicroGamepadSnapshot |
Ruft Momentaufnahmen des Zustands eines Mikro-Gamepads ab. |
| GCMotion |
Enthält Positionsdaten eines Gamecontrollers. |
| GCMouse |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCMouse.Notifications |
Von der GCMouse Klasse gepostete Benachrichtigungen. |
| GCMouseInput |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCPhysicalInputElementCollection<KeyIdentifierType,ElementIdentifierType> |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCPhysicalInputProfile |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCProductCategory |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCRacingWheel |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCRacingWheel.Notifications |
Von der GCRacingWheel Klasse gepostete Benachrichtigungen. |
| GCRacingWheelInput |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCRacingWheelInputState |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCSteeringWheelElement |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCVirtualController |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCVirtualControllerConfiguration |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCVirtualControllerElementConfiguration |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCXboxGamepad |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| UISceneConnectionOptions_GameController |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
Strukturen
| Name | Beschreibung |
|---|---|
| GCAcceleration |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDualSenseAdaptiveTriggerPositionalAmplitudes |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDualSenseAdaptiveTriggerPositionalResistiveStrengths |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCExtendedGamepadSnapshotData |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCExtendedGamepadSnapShotDataV100 |
Der Zustand eines GCExtendedGamepad. Produziert von TryGetSnapShotData(NSData, GCExtendedGamepadSnapShotDataV100). |
| GCGamepadSnapShotDataV100 |
Der Zustand eines GCGamepad. Produziert von TryGetSnapshotData(NSData, GCGamepadSnapShotDataV100). |
| GCMicroGamepadSnapshotData |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCMicroGamepadSnapShotDataV100 |
Stellt den sofortigen Zustand eines Mikro-Gamepads im V100-Format zu einem bestimmten Zeitpunkt dar. |
| GCPoint2 |
Stellt ein geordnetes Paar von Gleitkomma-X- und Y-Koordinaten dar, das einen Punkt in einer zweidimensionalen Ebene definiert. |
| GCQuaternion |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCRotationRate |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
Schnittstellen
| Name | Beschreibung |
|---|---|
| IGCAxis2DInput |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCAxisElement |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCAxisInput |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCButtonElement |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCDevice |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCDevicePhysicalInput |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCDevicePhysicalInputState |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCDevicePhysicalInputStateDiff |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCDirectionPadElement |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCGameControllerSceneDelegate |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCLinearInput |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCPhysicalInputElement |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCPhysicalInputSource |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCPressedStateInput |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCRelativeInput |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCSwitchElement |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCSwitchPositionInput |
Diese Schnittstelle stellt das Objective-C-Protokoll |
| IGCTouchedStateInput |
Diese Schnittstelle stellt das Objective-C-Protokoll |
Enumerationen
| Name | Beschreibung |
|---|---|
| GCControllerHomeButtonSettingCustomizationStatus |
Gibt an, ob der Benutzer eine Einstellung für die Starttaste des Controllers angepasst hat. |
| GCControllerHomeButtonSettingInAppAction |
Gibt an, wie das System auf einen Steuerschalter "Start" reagiert, während die Anwendung ganz vorne ist. |
| GCControllerHomeButtonSettingsCustomizationActivity |
Gibt die Einstellung für die Controller-Startschaltfläche an, die angepasst werden soll. |
| GCControllerHomeButtonSettingSystemAction |
Gibt die Systemaktion an, die als Reaktion auf die Taste "Start" des Controllers ausgeführt wurde. |
| GCControllerPlayerIndex |
Listet die Indizes des Spielercontrollers auf. |
| GCDeviceBatteryState |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDevicePhysicalInputElementChange |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDualSenseAdaptiveTriggerMode |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCDualSenseAdaptiveTriggerStatus |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCExtendedGamepadSnapshotDataVersion |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCInputAxisName |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCInputButtonName |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCInputDirectional |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCInputDirectionPadName |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCInputElementName |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCInputMicroGamepad |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCMicroGamepadSnapshotDataVersion |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCPhysicalInputSourceDirection |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCSystemGestureState |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCTouchState |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCUIEventTypes |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
Delegaten
| Name | Beschreibung |
|---|---|
| ElementValueDidChangeHandler |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCAxis2DInputValueDidChangeCallback |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCControllerAxisValueChangedHandler |
Der Delegat, der als Wertänderungshandler für ValueChangedHandler. |
| GCControllerButtonTouchedChanged |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCControllerButtonValueChanged |
Delegieren für ValueChangedHandler und PressedChangedHandler. |
| GCControllerDirectionPadValueChangedHandler |
Der Delegat, der als Wertänderungshandler für ValueChangedHandler. |
| GCControllerHomeButtonSettingsDidChangeHandler |
Der Handler, der aufgerufen wird, nachdem sich die Einstellungen für die Startschaltfläche des Controllers geändert haben. |
| GCControllerTouchpadHandler |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCExtendedGamepadValueChangedHandler |
Der Delegat, der als Wertänderungshandler für ValueChangedHandler. |
| GCGamepadValueChangedHandler |
Der Delegat, der als Wertänderungshandler für ValueChangedHandler. |
| GCKeyboardValueChangedHandler |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCMicroGamepadValueChangedHandler |
Ein Handler, der aufgerufen wird, wenn ein einzelnes Element eines Controllers geändert wird. |
| GCMouseMoved |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| GCVirtualControllerElementUpdateBlock |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
| InputStateAvailableHandler |
Der GameController-Namespace bietet Unterstützung für externe Gamecontroller. |
Hinweise
Gamecontroller sind in zwei Formen verfügbar: "Formanpassungscontroller", die ein iOS-Gerät und "erweiterte drahtlose" Controller enthalten, die drahtlos mit einem iOS-Gerät oder einem Mac verbunden sind.
Gamecontroller müssen optionale Komponenten sein: Spieleentwickler müssen ihr Spiel von Benutzern spielen lassen, die nicht über Gamecontroller verfügen.
Formularanpassungscontroller werden automatisch vom System erkannt. Erweiterte Drahtlose Controller werden vom System nach dem Aufrufen StartWirelessControllerDiscovery des Anwendungsentwicklers ermittelt und führen dazu, dass der ObserveDidConnect Benachrichtigungshandler ausgelöst wird. Wenn drahtlose Controller getrennt werden, wird die ObserveDidDisconnect Benachrichtigung ausgelöst.
Es gibt zwei unterstützte Profile für Gamecontroller: GCGamepad und GCExtendedGamepad. A GCController verfügt über einen Wert ungleich NULL für seine Gamepad Eigenschaft ExtendedGamepad , der Anwendungsentwickler muss diese lesen, um den Typ zu bestimmen.
GCGamepads haben zwei Schultertasten, ein D-Pad (siehe GCControllerDirectionPad) und 4 Gesichtstasten mit der Bezeichnung Y-B-A-X.
GCExtendedGamepads haben die gleichen Elemente, plus zwei Triggertasten und zwei Joysticks (siehe GCControllerAxisInput). Apple konzeptionelle Schematik zeigt zusätzlich ein LED-Array an, aber es gibt derzeit keinen programmgesteuerten Zugriff auf dieses Element.
Es gibt drei Möglichkeiten zum Lesen von Gamecontrollerdaten:
| Technique | Methode(n) | Verwenden |
|---|---|---|
| Abfrage | Eigenschaften wie IsPressed oder XAxis | Direkt aus der Spielschleife lesen (siehe Update). |
| Ereignisgesteuert | Eigenschaft des ValueChangedHandler Elements (z. B ValueChangedHandler. ) | GameController verarbeitet Updates im Hauptthread. Das Framework stellt sicher, dass gleichzeitig vorkommende Ereignisse zu einer Reihe einzelner Rückrufe führen. |
| Koordinierte Momentaufnahme | SaveSnapshot, SaveSnapshot | Snapshots the controller state. Geeignet für Marshalling, Serialisierung oder verzögerte Verarbeitung. |
Die hauptklassen im Game Controller-Namespace sind in der folgenden Abbildung dargestellt:
