Gamepad Classe
Definição
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.
Representa um gamepad.
public ref class Gamepad sealed
public ref class Gamepad sealed : IGameControllerBatteryInfo
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Gamepad final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Gamepad final : IGameControllerBatteryInfo
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Gamepad
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Gamepad : IGameControllerBatteryInfo
Public NotInheritable Class Gamepad
Public NotInheritable Class Gamepad
Implements IGameControllerBatteryInfo
- Herança
- Atributos
- Implementações
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
O snippet de código a seguir mostra como percorrer a lista Gamepad.Gamepads e adicionar cada um a um vetor. Você precisará colocar um bloqueio no vetor, pois as coisas podem mudar a qualquer momento (um controlador pode ser desconectado ou reconectado, por exemplo).
#include <concrt.h>
#include <winrt/Windows.Gaming.Input.h>
using namespace winrt;
using namespace Windows::Gaming::Input;
...
std::vector<Gamepad> myGamepads;
concurrency::critical_section myLock{};
for (auto const& gamepad : Gamepad::Gamepads())
{
// Test whether the gamepad is already in myGamepads; if it isn't, add it.
concurrency::critical_section::scoped_lock lock{ myLock };
auto it{ std::find(begin(myGamepads), end(myGamepads), gamepad) };
if (it == end(myGamepads))
{
// This code assumes that you're interested in all gamepads.
myGamepads.push_back(gamepad);
}
}
auto myGamepads = ref new Vector<Gamepad^>();
critical_section myLock{};
for (auto gamepad : Gamepad::Gamepads)
{
// Test whether the gamepad is already in myGamepads; if it isn't, add it.
critical_section::scoped_lock lock{ myLock };
auto it = std::find(begin(myGamepads), end(myGamepads), gamepad);
if (it == end(myGamepads))
{
// This code assumes that you're interested in all gamepads.
myGamepads->Append(gamepad);
}
}
Comentários
As instâncias da classe Gamepad não podem ser criadas diretamente; Em vez disso, as instâncias da classe Gamepad são recuperadas por meio da propriedade Gamepad.Gamepads listando todos os gamepads conectados ou por meio do evento Gamepad.GamepadAdded .
Dispositivos com suporte
O Gamepad dá suporte a qualquer GIP (Protocolo de Entrada de Jogos) ou gamepad compatível com XUSB.
Histórico de versão
Versão do Windows | Versão do SDK | Valor adicionado |
---|---|---|
1607 | 14393 | GetButtonLabel |
1703 | 15063 | FromGameController |
1703 | 15063 | TryGetBatteryReport |
Propriedades
Gamepads |
A lista de todos os gamepads conectados. |
Headset |
O fone de ouvido de áudio anexado ao gamepad. |
IsWireless |
Obtém um valor que indica o estado sem fio do gamepad. |
User |
O usuário associado ao gamepad. |
Vibration |
Descreve a velocidade do motor do gamepad. |
Métodos
FromGameController(IGameController) |
Retorna o controlador de jogo especificado como um gamepad. |
GetButtonLabel(GamepadButtons) |
Recupera o rótulo do botão para o botão especificado. |
GetCurrentReading() |
Obtém uma instantâneo do estado do gamepad. |
TryGetBatteryReport() |
Obtém informações sobre o estado atual da bateria do gamepad. |
Eventos
GamepadAdded |
Sinaliza quando um novo gamepad está conectado. |
GamepadRemoved |
Sinaliza quando um gamepad é desconectado. |
HeadsetConnected |
Sinaliza quando um headset é anexado ao gamepad. |
HeadsetDisconnected |
Sinaliza quando um headset é desconectado do gamepad. |
UserChanged |
Sinaliza quando o usuário associado ao gamepad é alterado. |