GameController Namespace

O namespace GameController fornece suporte para controladores de jogo externos.

Classes

Nome Description
GCColor

O namespace GameController fornece suporte para controladores de jogo externos.

GCController

Um controlador de jogo, com ajuste de formulário ou sem fio estendido.

GCController.Notifications

Notificações postadas pela GCController classe.

GCControllerAxisInput

Um GCControllerElement joystick que representa.

GCControllerButtonInput

Um GCControllerElement botão que representa um controlador de jogo.

GCControllerDirectionPad

Um GCControllerElement que representa um painel de direção.

GCControllerElement

A classe base para elementos de entrada de um controlador de jogo.

GCControllerHomeButtonSettingsManager

Fornece acesso às configurações do sistema para o comportamento do botão Página Inicial do controlador.

GCControllerInputState

O namespace GameController fornece suporte para controladores de jogo externos.

GCControllerLiveInput

O namespace GameController fornece suporte para controladores de jogo externos.

GCControllerTouchpad

O namespace GameController fornece suporte para controladores de jogo externos.

GCControllerUserCustomizations

O namespace GameController fornece suporte para controladores de jogo externos.

GCControllerUserCustomizations.Notifications

Notificações postadas pela GCControllerUserCustomizations classe.

GCDeviceBattery

O namespace GameController fornece suporte para controladores de jogo externos.

GCDeviceCursor

O namespace GameController fornece suporte para controladores de jogo externos.

GCDeviceHaptics

O namespace GameController fornece suporte para controladores de jogo externos.

GCDeviceLight

O namespace GameController fornece suporte para controladores de jogo externos.

GCDirectionalGamepad

O namespace GameController fornece suporte para controladores de jogo externos.

GCDualSenseAdaptiveTrigger

O namespace GameController fornece suporte para controladores de jogo externos.

GCDualSenseGamepad

O namespace GameController fornece suporte para controladores de jogo externos.

GCDualShockGamepad

O namespace GameController fornece suporte para controladores de jogo externos.

GCEventInteraction

O namespace GameController fornece suporte para controladores de jogo externos.

GCEventViewController

Controlador de exibição que pode alternar a entrega de eventos entre a cadeia de respondentes e o controlador de jogo.

GCExtendedGamepad

Um gamepad com dois botões de ombro, dois gatilhos, dois thumbsticks, um D-Pad e uma matriz de botões direcional.

GCExtendedGamepadSnapshot

Um instantâneo serializável do estado do controlador de jogo.

GCGameControllerActivationContext

O namespace GameController fornece suporte para controladores de jogo externos.

GCGameControllerSceneDelegate

Essa é uma classe que implementa a interface IGCGameControllerSceneDelegate (para o protocolo GCGameControllerSceneDelegate).

Subclasse essa classe para criar facilmente um tipo que implementa o protocolo.

Uma alternativa é criar uma subclasse NSObject e implementar a interface IGCGameControllerSceneDelegate.

GCGamepad

Um gamepad com dois botões de ombro, um D-Pad e uma matriz de botões direcional.

GCGamepadSnapshot

Um instantâneo serializável do estado do controlador de jogo.

GCGearShifterElement

O namespace GameController fornece suporte para controladores de jogo externos.

GCHapticsLocality

O namespace GameController fornece suporte para controladores de jogo externos.

GCInput

O namespace GameController fornece suporte para controladores de jogo externos.

GCInputAxisNameExtensions

Métodos de extensão para a GCInputAxisName enumeração.

GCInputButtonNameExtensions

Métodos de extensão para a GCInputButtonName enumeração.

GCInputDirectionalExtensions

Métodos de extensão para a GCInputDirectional enumeração.

GCInputDirectionPadNameExtensions

Métodos de extensão para a GCInputDirectionPadName enumeração.

GCInputElementNameExtensions

Métodos de extensão para a GCInputElementName enumeração.

GCInputMicroGamepadExtensions

Métodos de extensão para a GCInputMicroGamepad enumeração.

GCInputXbox

O namespace GameController fornece suporte para controladores de jogo externos.

GCKey

O namespace GameController fornece suporte para controladores de jogo externos.

GCKeyboard

O namespace GameController fornece suporte para controladores de jogo externos.

GCKeyboard.Notifications

Notificações postadas pela GCKeyboard classe.

GCKeyboardInput

O namespace GameController fornece suporte para controladores de jogo externos.

GCKeyCode

O namespace GameController fornece suporte para controladores de jogo externos.

GCMicroGamepad

Um mapeamento lógico dos controles do controlador de hardware para um conjunto de elementos no jogo.

GCMicroGamepadSnapshot

Obtém instantâneos do estado de um micro gamepad.

GCMotion

Mantém dados de posição de um controlador de jogo.

GCMouse

O namespace GameController fornece suporte para controladores de jogo externos.

GCMouse.Notifications

Notificações postadas pela GCMouse classe.

GCMouseInput

O namespace GameController fornece suporte para controladores de jogo externos.

GCPhysicalInputElementCollection<KeyIdentifierType,ElementIdentifierType>

O namespace GameController fornece suporte para controladores de jogo externos.

GCPhysicalInputProfile

O namespace GameController fornece suporte para controladores de jogo externos.

GCProductCategory

O namespace GameController fornece suporte para controladores de jogo externos.

GCRacingWheel

O namespace GameController fornece suporte para controladores de jogo externos.

GCRacingWheel.Notifications

Notificações postadas pela GCRacingWheel classe.

GCRacingWheelInput

O namespace GameController fornece suporte para controladores de jogo externos.

GCRacingWheelInputState

O namespace GameController fornece suporte para controladores de jogo externos.

GCSteeringWheelElement

O namespace GameController fornece suporte para controladores de jogo externos.

GCVirtualController

O namespace GameController fornece suporte para controladores de jogo externos.

GCVirtualControllerConfiguration

O namespace GameController fornece suporte para controladores de jogo externos.

GCVirtualControllerElementConfiguration

O namespace GameController fornece suporte para controladores de jogo externos.

GCXboxGamepad

O namespace GameController fornece suporte para controladores de jogo externos.

UISceneConnectionOptions_GameController

O namespace GameController fornece suporte para controladores de jogo externos.

Estruturas

Nome Description
GCAcceleration

O namespace GameController fornece suporte para controladores de jogo externos.

GCDualSenseAdaptiveTriggerPositionalAmplitudes

O namespace GameController fornece suporte para controladores de jogo externos.

GCDualSenseAdaptiveTriggerPositionalResistiveStrengths

O namespace GameController fornece suporte para controladores de jogo externos.

GCExtendedGamepadSnapshotData

O namespace GameController fornece suporte para controladores de jogo externos.

GCExtendedGamepadSnapShotDataV100

O estado de um GCExtendedGamepad. Produzido por TryGetSnapShotData(NSData, GCExtendedGamepadSnapShotDataV100).

GCGamepadSnapShotDataV100

O estado de um GCGamepad. Produzido por TryGetSnapshotData(NSData, GCGamepadSnapShotDataV100).

GCMicroGamepadSnapshotData

O namespace GameController fornece suporte para controladores de jogo externos.

GCMicroGamepadSnapShotDataV100

Representa o estado instantâneo de um micro gamepad no formato V100 em um ponto no tempo.

GCPoint2

Representa um par ordenado de coordenadas x e y de ponto flutuante que define um ponto em um plano bidimensional.

GCQuaternion

O namespace GameController fornece suporte para controladores de jogo externos.

GCRotationRate

O namespace GameController fornece suporte para controladores de jogo externos.

Interfaces

Nome Description
IGCAxis2DInput

Essa interface representa o protocolo GCAxis2DInputObjective-C.

IGCAxisElement

Essa interface representa o protocolo GCAxisElementObjective-C.

IGCAxisInput

Essa interface representa o protocolo GCAxisInputObjective-C.

IGCButtonElement

Essa interface representa o protocolo GCButtonElementObjective-C.

IGCDevice

Essa interface representa o protocolo GCDeviceObjective-C.

IGCDevicePhysicalInput

Essa interface representa o protocolo GCDevicePhysicalInputObjective-C.

IGCDevicePhysicalInputState

Essa interface representa o protocolo GCDevicePhysicalInputStateObjective-C.

IGCDevicePhysicalInputStateDiff

Essa interface representa o protocolo GCDevicePhysicalInputStateDiffObjective-C.

IGCDirectionPadElement

Essa interface representa o protocolo GCDirectionPadElementObjective-C.

IGCGameControllerSceneDelegate

Essa interface representa o protocolo GCGameControllerSceneDelegateObjective-C.

IGCLinearInput

Essa interface representa o protocolo GCLinearInputObjective-C.

IGCPhysicalInputElement

Essa interface representa o protocolo GCPhysicalInputElementObjective-C.

IGCPhysicalInputSource

Essa interface representa o protocolo GCPhysicalInputSourceObjective-C.

IGCPressedStateInput

Essa interface representa o protocolo GCPressedStateInputObjective-C.

IGCRelativeInput

Essa interface representa o protocolo GCRelativeInputObjective-C.

IGCSwitchElement

Essa interface representa o protocolo GCSwitchElementObjective-C.

IGCSwitchPositionInput

Essa interface representa o protocolo GCSwitchPositionInputObjective-C.

IGCTouchedStateInput

Essa interface representa o protocolo GCTouchedStateInputObjective-C.

Enumerações

Nome Description
GCControllerHomeButtonSettingCustomizationStatus

Especifica se o usuário personalizou uma configuração do botão Página Inicial do controlador.

GCControllerHomeButtonSettingInAppAction

Especifica como o sistema responde a um botão Home do controlador pressionado enquanto o aplicativo é frontmost.

GCControllerHomeButtonSettingsCustomizationActivity

Especifica a configuração do botão Página Inicial do controlador a ser personalizada.

GCControllerHomeButtonSettingSystemAction

Especifica a ação do sistema executada em resposta a um botão Página Inicial do controlador.

GCControllerPlayerIndex

Enumera índices do controlador de player.

GCDeviceBatteryState

O namespace GameController fornece suporte para controladores de jogo externos.

GCDevicePhysicalInputElementChange

O namespace GameController fornece suporte para controladores de jogo externos.

GCDualSenseAdaptiveTriggerMode

O namespace GameController fornece suporte para controladores de jogo externos.

GCDualSenseAdaptiveTriggerStatus

O namespace GameController fornece suporte para controladores de jogo externos.

GCExtendedGamepadSnapshotDataVersion

O namespace GameController fornece suporte para controladores de jogo externos.

GCInputAxisName

O namespace GameController fornece suporte para controladores de jogo externos.

GCInputButtonName

O namespace GameController fornece suporte para controladores de jogo externos.

GCInputDirectional

O namespace GameController fornece suporte para controladores de jogo externos.

GCInputDirectionPadName

O namespace GameController fornece suporte para controladores de jogo externos.

GCInputElementName

O namespace GameController fornece suporte para controladores de jogo externos.

GCInputMicroGamepad

O namespace GameController fornece suporte para controladores de jogo externos.

GCMicroGamepadSnapshotDataVersion

O namespace GameController fornece suporte para controladores de jogo externos.

GCPhysicalInputSourceDirection

O namespace GameController fornece suporte para controladores de jogo externos.

GCSystemGestureState

O namespace GameController fornece suporte para controladores de jogo externos.

GCTouchState

O namespace GameController fornece suporte para controladores de jogo externos.

GCUIEventTypes

O namespace GameController fornece suporte para controladores de jogo externos.

Delegados

Nome Description
ElementValueDidChangeHandler

O namespace GameController fornece suporte para controladores de jogo externos.

GCAxis2DInputValueDidChangeCallback

O namespace GameController fornece suporte para controladores de jogo externos.

GCControllerAxisValueChangedHandler

O delegado usado como o manipulador com valor alterado para ValueChangedHandler.

GCControllerButtonTouchedChanged

O namespace GameController fornece suporte para controladores de jogo externos.

GCControllerButtonValueChanged

Delegar para ValueChangedHandler e PressedChangedHandler.

GCControllerDirectionPadValueChangedHandler

O delegado usado como o manipulador com valor alterado para ValueChangedHandler.

GCControllerHomeButtonSettingsDidChangeHandler

Manipulador invocado após a alteração das configurações do botão Página Inicial do controlador.

GCControllerTouchpadHandler

O namespace GameController fornece suporte para controladores de jogo externos.

GCExtendedGamepadValueChangedHandler

O delegado usado como o manipulador com valor alterado para ValueChangedHandler.

GCGamepadValueChangedHandler

O delegado usado como o manipulador com valor alterado para ValueChangedHandler.

GCKeyboardValueChangedHandler

O namespace GameController fornece suporte para controladores de jogo externos.

GCMicroGamepadValueChangedHandler

Um manipulador que é chamado sempre que qualquer elemento único de um controlador é alterado.

GCMouseMoved

O namespace GameController fornece suporte para controladores de jogo externos.

GCVirtualControllerElementUpdateBlock

O namespace GameController fornece suporte para controladores de jogo externos.

InputStateAvailableHandler

O namespace GameController fornece suporte para controladores de jogo externos.

Comentários

Os controladores de jogo vêm de duas formas: controladores de "ajuste de formulário" que contêm um dispositivo iOS e controladores "sem fio estendidos" que se conectam sem fio a um dispositivo iOS ou a um Mac.

Os controladores de jogo devem ser componentes opcionais: os desenvolvedores de jogos devem tornar seu jogo jogável por usuários que não têm controladores de jogo.

Os controladores de ajuste de formulário são descobertos automaticamente pelo sistema. Os controladores sem fio estendidos são descobertos pelo sistema após a chamada StartWirelessControllerDiscovery do desenvolvedor de aplicativos e farão com que o ObserveDidConnect manipulador de notificação seja acionado. Quando os controladores sem fio se desconectam, a ObserveDidDisconnect notificação é disparada.

Há dois perfis com suporte para controladores de jogos: GCGamepad e GCExtendedGamepad. A GCController terá um valor não nulo para sua Gamepad propriedade ou ExtendedGamepad sua propriedade, o desenvolvedor do aplicativo deve lê-los para determinar o tipo.

GCGamepads têm dois botões de ombro, um D-pad (veja GCControllerDirectionPad) e quatro botões de rosto rotulados Y-B-A-X.

GCExtendedGamepads têm os mesmos elementos, além de dois botões de gatilho e dois joysticks (consulte GCControllerAxisInput). Os esquemas conceituais da Apple também mostram uma matriz LED, mas atualmente não há acesso programático a esse elemento.

Há três maneiras de ler dados do controlador de jogo:

TechniqueMétodo(s)Usar
SondagemPropriedades como IsPressed ou XAxisLeitura direta do loop do jogo (consulte Update).
Controlado por eventosPropriedade do ValueChangedHandler elemento (como ValueChangedHandler)O Controlador de Jogos processa atualizações no thread principal. A estrutura garante que eventos que ocorrem simultaneamente resultem em uma série de retornos de chamada únicos.
Instantâneo coordenado SaveSnapshot, SaveSnapshotInstantâneos do estado do controlador. Apropriado para marshalling, serialização ou processamento atrasado.

As classes principais no namespace do Controlador de Jogo são mostradas na ilustração a seguir: