RawGameController 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 qualsiasi tipo di controller di gioco.
public ref class RawGameController sealed : IGameControllerBatteryInfo
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RawGameController final : IGameControllerBatteryInfo
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RawGameController : IGameControllerBatteryInfo
Public NotInheritable Class RawGameController
Implements IGameControllerBatteryInfo
- Ereditarietà
- Attributi
- Implementazioni
Requisiti Windows
Famiglia di dispositivi |
Windows 10 Creators Update (è stato introdotto in 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v4.0)
|
Esempio
Il frammento di codice seguente illustra come eseguire il ciclo attraverso l'elenco RawGameController.RawGameControllers e aggiungere ogni RawGameController a un vettore. È necessario inserire un blocco sul vettore, perché gli elementi possono cambiare in qualsiasi momento (un controller potrebbe essere disconnesso o riconnesso, ad esempio).
#include <concrt.h>
#include <winrt/Windows.Gaming.Input.h>
using namespace winrt;
using namespace Windows::Gaming::Input;
...
std::vector<RawGameController> myRawGameControllers;
concurrency::critical_section myLock{};
for (auto const& rawGameController : RawGameController::RawGameControllers())
{
// Test whether the raw game controller is already in myRawGameControllers; if it isn't, add it.
concurrency::critical_section::scoped_lock lock{ myLock };
auto it{ std::find(begin(myRawGameControllers), end(myRawGameControllers), rawGameController) };
if (it == end(myRawGameControllers))
{
// This code assumes that you're interested in all raw game controllers.
myRawGameControllers.push_back(rawGameController);
}
}
Commenti
Le istanze della classe RawGameController non possono essere create direttamente; Le istanze della classe vengono invece recuperate tramite la proprietà RawGameController.RawGameControllers che elenca tutti i controller di gioco connessi o tramite l'evento RawGameController.RawGameControllerAdded .
Tutti gli input disponibili in un RawGameController sono esposti come matrici semplici di pulsanti, commutatori e assi senza nome. Usando questa classe, è possibile consentire ai clienti di creare mapping di input personalizzati indipendentemente dal tipo di controller in uso.
È necessario creare queste matrici manualmente e quindi popolarle usando GetCurrentReading per determinare gli stati dei pulsanti, dei commutatori e degli assi. Per altre informazioni, vedere la documentazione della funzione.
Per informazioni su come usare la classe RawGameController, vedere Controller di gioco non elaborato.
Cronologia delle versioni
Versione di Windows | Versione dell'SDK | Valore aggiunto |
---|---|---|
1709 | 16299 | DisplayName |
1709 | 16299 | NonRoamableId |
1709 | 16299 | SimpleHapticsControllers |
Proprietà
AxisCount |
Numero di assi sul controller di gioco non elaborato. |
ButtonCount |
Numero di pulsanti sul controller di gioco non elaborato. |
DisplayName |
Nome del controller, fornito dall'hardware. |
ForceFeedbackMotors |
Elenco dei motori di feedback forza nel controller di gioco non elaborato. |
HardwareProductId |
ID prodotto hardware del controller di gioco non elaborato. |
HardwareVendorId |
ID fornitore hardware del controller di gioco non elaborato. |
Headset |
Visore audio collegato al controller di gioco non elaborato. |
IsWireless |
Ottiene un valore che indica lo stato wireless del controller di gioco non elaborato. |
NonRoamableId |
ID univoco che identifica il controller. Purché il controller sia connesso, l'ID non cambierà mai. |
RawGameControllers |
Elenco di tutti i controller di gioco non elaborati connessi. |
SimpleHapticsControllers |
Raccolta di oggetti SimpleHapticsController che rappresentano tutti i motori di feedback aptici disponibili nel dispositivo. |
SwitchCount |
Numero di commutatori sul controller di gioco non elaborato. |
User |
L'utente associato al controller di gioco non elaborato. |
Metodi
FromGameController(IGameController) |
Restituisce il controller di gioco specificato come controller di gioco non elaborato. |
GetButtonLabel(Int32) |
Recupera l'etichetta del pulsante per il pulsante specificato. |
GetCurrentReading(Boolean[], GameControllerSwitchPosition[], Double[]) |
Ottiene uno snapshot dello stato del controller di gioco non elaborato. |
GetSwitchKind(Int32) |
Ottiene il tipo dell'interruttore specificato sul controller del gioco non elaborato. |
TryGetBatteryReport() |
Ottiene informazioni sullo stato corrente della batteria del controller di gioco non elaborato. |
Eventi
HeadsetConnected |
Segnala quando un visore visore è collegato al controller di gioco non elaborato. |
HeadsetDisconnected |
Segnala quando un visore visore viene disconnesso dal controller di gioco non elaborato. |
RawGameControllerAdded |
Segnala quando un nuovo controller di gioco non elaborato è connesso. |
RawGameControllerRemoved |
Segnala quando un controller di gioco non elaborato viene disconnesso. |
UserChanged |
Segnala quando l'utente associato al controller di gioco non elaborato è cambiato. |