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
Im folgenden Codeausschnitt wird gezeigt, wie Sie die Gamepad.Gamepads-Liste durchlaufen und die einzelnen einem Vektor hinzufügen. Sie müssen eine Sperre auf den Vektor setzen, da sich die Dinge jederzeit ändern können (ein Controller kann z. B. getrennt oder erneut 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 Eigenschaft abgerufen, die Gamepad.Gamepads alle verbundenen Gamepads oder das Gamepad.GamepadAdded Ereignis auflistet.
Unterstützte Geräte
Gamepad unterstützt alle Xbox One zertifizierten oder xbox 360 kompatiblen Gamepads.
Versionsverlauf
| Windows-Version | SDK-Version | Mehrwert |
|---|---|---|
| 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 drahtlosen Zustand des Gamepads angibt. |
| User |
Der Benutzer, der dem Gamepad zugeordnet ist. |
| Vibration |
Beschreibt die Gamepadmotorgeschwindigkeit. |
Methoden
| FromGameController(IGameController) |
Gibt den angegebenen Gamecontroller als Gamepad zurück. |
| GetButtonLabel(GamepadButtons) |
Ruft die Schaltflächenbezeichnung für die angegebene Schaltfläche ab. |
| GetCurrentReading() |
Ruft eine Momentaufnahme des Gamepadstatus ab. |
| TryGetBatteryReport() |
Ruft Informationen zum aktuellen Akkustatus des Gamepads ab. |
Ereignisse
| GamepadAdded |
Signalisiert, wenn ein neues Gamepad verbunden ist. |
| GamepadRemoved |
Signale, wenn ein Gamepad getrennt wird. |
| HeadsetConnected |
Signalisiert, wenn ein Headset an das Gamepad angeschlossen ist. |
| HeadsetDisconnected |
Signale, wenn ein Headset vom Gamepad getrennt wird. |
| UserChanged |
Signalisiert, wenn der Benutzer, der dem Gamepad zugeordnet ist, geändert wurde. |
Gilt für:
Siehe auch
Feedback
Feedback senden und anzeigen für