Gamepad 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 ein Gamepad dar.
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
- Vererbung
- Attribute
- Implementiert
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Beispiele
Der folgende Codeausschnitt zeigt, wie Sie die Liste Gamepad.Gamepads durchschleifen und jedem 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<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);
}
}
Hinweise
Instanzen der Gamepad-Klasse können nicht direkt erstellt werden. Stattdessen werden Instanzen der Gamepad-Klasse über die Gamepad.Gamepads-Eigenschaft abgerufen, die alle verbundenen Gamepads auflistet, oder über das Gamepad.GamepadAdded-Ereignis .
Unterstützte Geräte
Gamepad unterstützt jedes GIP (Gaming Input Protocol) oder XUSB-kompatible Gamepad.
Versionsverlauf
Windows-Version | SDK-Version | Wertschöpfung |
---|---|---|
1607 | 14393 | GetButtonLabel |
1703 | 15063 | FromGameController |
1703 | 15063 | TryGetBatteryReport |
Eigenschaften
Gamepads |
Die Liste aller verbundenen Gamepads. |
Headset |
Das Audio-Headset, das an das Gamepad angeschlossen ist. |
IsWireless |
Ruft einen Wert ab, der den Drahtlosstatus des Gamepads angibt. |
User |
Der Benutzer, der dem Gamepad zugeordnet ist. |
Vibration |
Beschreibt die Geschwindigkeit des Gamepadmotors. |
Methoden
FromGameController(IGameController) |
Gibt den angegebenen Spielcontroller als Gamepad zurück. |
GetButtonLabel(GamepadButtons) |
Ruft die Schaltflächenbezeichnung für die angegebene Schaltfläche ab. |
GetCurrentReading() |
Ruft eine Momentaufnahme des Gamepad-Zustands ab. |
TryGetBatteryReport() |
Ruft Informationen zum aktuellen Akkuzustand des Gamepads ab. |
Ereignisse
GamepadAdded |
Signalisiert, wenn ein neues Gamepad verbunden ist. |
GamepadRemoved |
Signalisiert, wenn ein Gamepad getrennt wird. |
HeadsetConnected |
Signalisiert, wenn ein Headset an das Gamepad angeschlossen ist. |
HeadsetDisconnected |
Signalisiert, wenn ein Headset vom Gamepad getrennt ist. |
UserChanged |
Signalisiert, wenn sich der dem Gamepad zugeordnete Benutzer geändert hat. |