Condividi tramite


Gamepad Classe

Definizione

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à
Object Platform::Object IInspectable Gamepad
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.

Si applica a

Vedi anche