RawGameController 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 cualquier tipo de controlador de juego.
public ref class RawGameController sealed : IGameControllerBatteryInfo
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RawGameController final : IGameControllerBatteryInfo
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RawGameController : IGameControllerBatteryInfo
Public NotInheritable Class RawGameController
Implements IGameControllerBatteryInfo
- Herencia
- Atributos
- Implementaciones
Requisitos de Windows
Familia de dispositivos |
Windows 10 Creators Update (se introdujo en la versión 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v4.0)
|
Ejemplos
El siguiente fragmento de código muestra cómo recorrer en bucle la lista RawGameController.RawGameControllers y agregar cada RawGameController a un vector. Tendrás que poner un bloqueo en el vector, ya que las cosas pueden cambiar en cualquier momento (un controlador podría estar desconectado o reconectado, por ejemplo).
#include <concrt.h>
#include <winrt/Windows.Gaming.Input.h>
using namespace winrt;
using namespace Windows::Gaming::Input;
...
std::vector<RawGameController> myRawGameControllers;
concurrency::critical_section myLock{};
for (auto const& rawGameController : RawGameController::RawGameControllers())
{
// Test whether the raw game controller is already in myRawGameControllers; if it isn't, add it.
concurrency::critical_section::scoped_lock lock{ myLock };
auto it{ std::find(begin(myRawGameControllers), end(myRawGameControllers), rawGameController) };
if (it == end(myRawGameControllers))
{
// This code assumes that you're interested in all raw game controllers.
myRawGameControllers.push_back(rawGameController);
}
}
Comentarios
Las instancias de la clase RawGameController no se pueden crear directamente; en su lugar, las instancias de la clase se recuperan a través de la propiedad RawGameController.RawGameControllers que enumera todos los controladores de juego conectados o a través del evento RawGameController.RawGameControllerAdded .
Todas las entradas disponibles en rawGameController se exponen como matrices simples de botones, modificadores y ejes sin nombre. Con esta clase, puede permitir a los clientes crear asignaciones de entrada personalizadas independientemente del tipo de controlador que usen.
Deberá crear estas matrices usted mismo y, a continuación, rellenarlas mediante GetCurrentReading para determinar los estados de los botones, modificadores y ejes. Consulte la documentación de esa función para obtener más información.
Consulta Raw game controller para obtener información sobre cómo usar la clase RawGameController .
Historial de versiones
Versión de Windows | Versión del SDK | Valor agregado |
---|---|---|
1709 | 16299 | DisplayName |
1709 | 16299 | NonRoamableId |
1709 | 16299 | SimpleHapticsControllers |
Propiedades
AxisCount |
Número de ejes en el controlador de juego sin procesar. |
ButtonCount |
Número de botones en el controlador de juego sin formato. |
DisplayName |
Nombre del controlador, proporcionado por el hardware. |
ForceFeedbackMotors |
La lista de motores de fuerza de respuesta en el controlador de juego sin procesar. |
HardwareProductId |
Identificador del producto de hardware del controlador de juego sin procesar. |
HardwareVendorId |
Identificador del proveedor de hardware del controlador de juego sin procesar. |
Headset |
Los auriculares de audio conectados al controlador de juego sin procesar. |
IsWireless |
Obtiene un valor que indica el estado inalámbrico del controlador de juego sin procesar. |
NonRoamableId |
Identificador único que identifica el controlador. Siempre que el controlador esté conectado, el identificador nunca cambiará. |
RawGameControllers |
La lista de todos los controladores de juegos sin procesar conectados. |
SimpleHapticsControllers |
Colección de objetos SimpleHapticsController que representan todos los motores de comentarios hápticos disponibles en el dispositivo. |
SwitchCount |
Número de interruptores en el controlador de juego sin procesar. |
User |
El usuario asociado al controlador de juego sin formato. |
Métodos
FromGameController(IGameController) |
Devuelve el controlador de juego especificado como un controlador de juego sin procesar. |
GetButtonLabel(Int32) |
Recupera la etiqueta del botón para el botón especificado. |
GetCurrentReading(Boolean[], GameControllerSwitchPosition[], Double[]) |
Obtiene una instantánea del estado del controlador de juego sin procesar. |
GetSwitchKind(Int32) |
Obtiene el tipo del modificador especificado en el controlador de juego sin formato. |
TryGetBatteryReport() |
Obtiene información sobre el estado actual de la batería del controlador de juego sin procesar. |
Eventos
HeadsetConnected |
Indica cuándo se conecta un casco al controlador de juego sin procesar. |
HeadsetDisconnected |
Indica cuándo se desconecta un casco del controlador de juego sin procesar. |
RawGameControllerAdded |
Indica cuándo se conecta un nuevo controlador de juego sin procesar. |
RawGameControllerRemoved |
Indica cuándo se desconecta un controlador de juego sin procesar. |
UserChanged |
Indica cuándo ha cambiado el usuario asociado al controlador de juego sin procesar. |