Gamepad Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un controlador para juegos.
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
- Herencia
- Atributos
- Implementaciones
Requisitos de Windows
Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
|
Ejemplos
El siguiente fragmento de código muestra cómo recorrer en bucle la lista Gamepad.Gamepads y agregar cada uno a un vector. Tendrá que poner un bloqueo en el vector, ya que las cosas pueden cambiar en cualquier momento (un controlador podría desconectarse o volver a conectarse, por ejemplo).
#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);
}
}
Comentarios
Las instancias de la clase Gamepad no se pueden crear directamente; en su lugar, las instancias de la clase Gamepad se recuperan a través de la propiedad Gamepad.Gamepads que enumera todos los controladores para juegos conectados o a través del evento Gamepad.GamepadAdded .
Dispositivos compatibles
Gamepad admite cualquier controlador para juegos compatible con GIP (Protocolo de entrada de juegos) o XUSB.
Historial de versiones
Versión de Windows | Versión del SDK | Valor agregado |
---|---|---|
1607 | 14393 | GetButtonLabel |
1703 | 15063 | FromGameController |
1703 | 15063 | TryGetBatteryReport |
Propiedades
Gamepads |
Lista de todos los controladores para juegos conectados. |
Headset |
Auriculares de audio conectados al controlador para juegos. |
IsWireless |
Obtiene un valor que indica el estado inalámbrico del controlador para juegos. |
User |
El usuario asociado al controlador para juegos. |
Vibration |
Describe la velocidad del motor del controlador para juegos. |
Métodos
FromGameController(IGameController) |
Devuelve el controlador de juego especificado como controlador para juegos. |
GetButtonLabel(GamepadButtons) |
Recupera la etiqueta del botón para el botón especificado. |
GetCurrentReading() |
Obtiene una instantánea del estado del controlador para juegos. |
TryGetBatteryReport() |
Obtiene información sobre el estado actual de la batería del controlador para juegos. |
Eventos
GamepadAdded |
Indica cuándo se conecta un nuevo controlador para juegos. |
GamepadRemoved |
Indica cuándo se desconecta un controlador para juegos. |
HeadsetConnected |
Señala cuando un auricular está conectado al controlador para juegos. |
HeadsetDisconnected |
Indica cuándo se desconecta un casco del controlador para juegos. |
UserChanged |
Indica cuándo ha cambiado el usuario asociado al controlador para juegos. |