Gamepad Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un game pad.
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
- Ereditarietà
- Attributi
- Implementazioni
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
Esempio
Il frammento di codice seguente mostra come scorrere l'elenco Gamepad.Gamepads e aggiungerlo a un vettore. È necessario inserire un blocco sul vettore, perché gli elementi possono cambiare in qualsiasi momento (ad esempio, un controller potrebbe essere disconnesso o riconnesso).
#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);
}
}
Commenti
Le istanze della classe Game pad non possono essere create direttamente; Al contrario, le istanze della classe Game pad vengono recuperate tramite la proprietà Gamepad.Gamepads che elenca tutti i game pad connessi o tramite l'evento Gamepad.GamepadAdded .
Dispositivi supportati
Game pad supporta qualsiasi game pad compatibile con GIP (Gaming Input Protocol) o XUSB.
Cronologia delle versioni
Versione di Windows | Versione dell'SDK | Valore aggiunto |
---|---|---|
1607 | 14393 | GetButtonLabel |
1703 | 15063 | FromGameController |
1703 | 15063 | TryGetBatteryReport |
Proprietà
Gamepads |
Elenco di tutti i game pad connessi. |
Headset |
Auricolare audio collegato al game pad. |
IsWireless |
Ottiene un valore che indica lo stato wireless del game pad. |
User |
Utente associato al game pad. |
Vibration |
Descrive la velocità del motore del game pad. |
Metodi
FromGameController(IGameController) |
Restituisce il controller di gioco specificato come game pad. |
GetButtonLabel(GamepadButtons) |
Recupera l'etichetta del pulsante per il pulsante specificato. |
GetCurrentReading() |
Ottiene uno snapshot dello stato del game pad. |
TryGetBatteryReport() |
Ottiene informazioni sullo stato corrente della batteria del game pad. |
Eventi
GamepadAdded |
Segnala quando è connesso un nuovo game pad. |
GamepadRemoved |
Segnala quando un game pad è disconnesso. |
HeadsetConnected |
Segnala quando un visore VR è collegato al game pad. |
HeadsetDisconnected |
Segnala quando un visore VR viene disconnesso dal game pad. |
UserChanged |
Segnala quando l'utente associato al game pad è cambiato. |