RawGameController Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen beliebigen Typ von Spielcontroller dar.
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
- Vererbung
- Attribute
- Implementiert
Windows-Anforderungen
Gerätefamilie |
Windows 10 Creators Update (eingeführt in 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v4.0)
|
Beispiele
Der folgende Codeausschnitt zeigt, wie Sie die Liste RawGameController.RawGameControllers durchlaufen und jeden RawGameController einem Vektor hinzufügen. Sie müssen eine Sperre für den Vektor festlegen, da sich die Dinge jederzeit ändern können (ein Controller kann z. B. getrennt oder wieder verbunden werden).
#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);
}
}
Hinweise
Instanzen der RawGameController-Klasse können nicht direkt erstellt werden. Stattdessen werden Instanzen der -Klasse über die RawGameController.RawGameControllers-Eigenschaft abgerufen, die alle verbundenen Spielcontroller auflistet, oder über das RawGameController.RawGameControllerAdded-Ereignis .
Alle auf einem RawGameController verfügbaren Eingaben werden als einfache Arrays von nicht benannten Schaltflächen, Schaltern und Achsen verfügbar gemacht. Mit dieser Klasse können Sie Kunden erlauben, benutzerdefinierte Eingabezuordnungen zu erstellen, unabhängig davon, welchen Controllertyp sie verwenden.
Sie müssen diese Arrays selbst erstellen und dann mit GetCurrentReading auffüllen , um den Zustand der Schaltflächen, Schalter und Achsen zu bestimmen. Weitere Informationen finden Sie in der Dokumentation dieser Funktion.
Informationen zur Verwendung der RawGameController-Klasse finden Sie unter Raw Game Controller.
Versionsverlauf
Windows-Version | SDK-Version | Wertschöpfung |
---|---|---|
1709 | 16299 | DisplayName |
1709 | 16299 | NonRoamableId |
1709 | 16299 | SimpleHapticsController |
Eigenschaften
AxisCount |
Die Anzahl der Achsen auf dem rohen Spielcontroller. |
ButtonCount |
Die Anzahl der Schaltflächen auf dem rohen Spielcontroller. |
DisplayName |
Der Name des Controllers, der von der Hardware bereitgestellt wird. |
ForceFeedbackMotors |
Die Liste der Erzwingungsfeedback-Motoren im rohen Spielcontroller. |
HardwareProductId |
Die Hardwareprodukt-ID des rohen Spielcontrollers. |
HardwareVendorId |
Die Hardwareanbieter-ID des rohen Spielcontrollers. |
Headset |
Das Audio-Headset, das an den Rohspielcontroller angeschlossen ist. |
IsWireless |
Ruft einen Wert ab, der den Drahtlosstatus des unformatierten Spielcontrollers angibt. |
NonRoamableId |
Eine eindeutige ID, die den Controller identifiziert. Solange der Controller verbunden ist, ändert sich die ID nie. |
RawGameControllers |
Die Liste aller verbundenen Rohspielcontroller. |
SimpleHapticsControllers |
Eine Auflistung von SimpleHapticsController-Objekten , die alle verfügbaren haptischen Feedbackmotoren darstellen, die auf dem Gerät verfügbar sind. |
SwitchCount |
Die Anzahl der Schalter auf dem rohen Spielcontroller. |
User |
Der Benutzer, der dem rohen Spielcontroller zugeordnet ist. |
Methoden
FromGameController(IGameController) |
Gibt den angegebenen Spielcontroller als rohen Spielcontroller zurück. |
GetButtonLabel(Int32) |
Ruft die Schaltflächenbezeichnung für die angegebene Schaltfläche ab. |
GetCurrentReading(Boolean[], GameControllerSwitchPosition[], Double[]) |
Ruft eine Momentaufnahme des Unformatierten Spielcontrollerstatus ab. |
GetSwitchKind(Int32) |
Ruft den Typ des angegebenen Schalters auf dem rohen Spielcontroller ab. |
TryGetBatteryReport() |
Ruft Informationen zum aktuellen Akkuzustand des unformatierten Spielcontrollers ab. |
Ereignisse
HeadsetConnected |
Signalisiert, wenn ein Headset an den Rohspielcontroller angeschlossen ist. |
HeadsetDisconnected |
Signalisiert, wenn ein Headset vom rohen Spielcontroller getrennt ist. |
RawGameControllerAdded |
Signalisiert, wenn ein neuer unformatierter Spielcontroller verbunden ist. |
RawGameControllerRemoved |
Signalisiert, wenn ein unformatierter Spielcontroller getrennt wird. |
UserChanged |
Signalisiert, wenn der Benutzer, der dem rohen Spielcontroller zugeordnet ist, geändert wurde. |