Gamepad Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un boîtier de commande.
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
- Héritage
- Attributs
- Implémente
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Exemples
L’extrait de code suivant montre comment parcourir la liste Gamepad.Gamepads et ajouter chacun d’eux à un vecteur. Vous devez placer un verrou sur le vecteur, car les choses peuvent changer à tout moment (un contrôleur peut être déconnecté ou reconnecté, par exemple).
#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);
}
}
Remarques
Les instances de la classe Gamepad ne peuvent pas être créées directement ; au lieu de cela, les instances de la classe Gamepad sont récupérées via la propriété Gamepad.Gamepads répertoriant tous les boîtiers de commande connectés ou via l’événement Gamepad.GamepadAdded .
Appareils pris en charge
Le boîtier de commande prend en charge n’importe quel GIP (Gaming Input Protocol) ou compatible XUSB.
Historique des versions
Version de Windows | Version du SDK | Valeur ajoutée |
---|---|---|
1607 | 14393 | GetButtonLabel |
1703 | 15063 | FromGameController |
1703 | 15063 | TryGetBatteryReport |
Propriétés
Gamepads |
Liste de tous les boîtiers de commande connectés. |
Headset |
Casque audio attaché au boîtier de commande. |
IsWireless |
Obtient une valeur qui indique l’état sans fil du boîtier de commande. |
User |
Utilisateur associé au boîtier de commande. |
Vibration |
Décrit la vitesse du moteur du boîtier de commande. |
Méthodes
FromGameController(IGameController) |
Retourne le contrôleur de jeu donné en tant que boîtier de commande. |
GetButtonLabel(GamepadButtons) |
Récupère l’étiquette de bouton pour le bouton spécifié. |
GetCurrentReading() |
Obtient une instantané de l’état du boîtier de commande. |
TryGetBatteryReport() |
Obtient des informations sur l’état actuel de la batterie du boîtier de commande. |
Événements
GamepadAdded |
Signale quand un nouveau boîtier de commande est connecté. |
GamepadRemoved |
Signale quand un boîtier de commande est déconnecté. |
HeadsetConnected |
Signale lorsqu’un casque est attaché au boîtier de commande. |
HeadsetDisconnected |
Signale quand un casque est déconnecté du boîtier de commande. |
UserChanged |
Signale quand l’utilisateur associé au boîtier de commande a changé. |