GameController Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 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 |
| IGCAxisElement |
Essa interface representa o protocolo |
| IGCAxisInput |
Essa interface representa o protocolo |
| IGCButtonElement |
Essa interface representa o protocolo |
| IGCDevice |
Essa interface representa o protocolo |
| IGCDevicePhysicalInput |
Essa interface representa o protocolo |
| IGCDevicePhysicalInputState |
Essa interface representa o protocolo |
| IGCDevicePhysicalInputStateDiff |
Essa interface representa o protocolo |
| IGCDirectionPadElement |
Essa interface representa o protocolo |
| IGCGameControllerSceneDelegate |
Essa interface representa o protocolo |
| IGCLinearInput |
Essa interface representa o protocolo |
| IGCPhysicalInputElement |
Essa interface representa o protocolo |
| IGCPhysicalInputSource |
Essa interface representa o protocolo |
| IGCPressedStateInput |
Essa interface representa o protocolo |
| IGCRelativeInput |
Essa interface representa o protocolo |
| IGCSwitchElement |
Essa interface representa o protocolo |
| IGCSwitchPositionInput |
Essa interface representa o protocolo |
| IGCTouchedStateInput |
Essa interface representa o protocolo |
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:
| Technique | Método(s) | Usar |
|---|---|---|
| Sondagem | Propriedades como IsPressed ou XAxis | Leitura direta do loop do jogo (consulte Update). |
| Controlado por eventos | Propriedade 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, SaveSnapshot | Instantâ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:
