Share via


Gamepad Kelas

Definisi

Mewakili gamepad.

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
Warisan
Object Platform::Object IInspectable Gamepad
Atribut
Penerapan

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Cuplikan kode berikut menunjukkan cara mengulang daftar Gamepad.Gamepads dan menambahkan masing-masing ke vektor. Anda harus mengunci vektor, karena hal-hal dapat berubah kapan saja (pengontrol mungkin terputus atau terhubung kembali, misalnya).

#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);
    }
}

Keterangan

Instans kelas Gamepad tidak dapat dibuat secara langsung; sebaliknya, instans kelas Gamepad diambil melalui properti Gamepad.Gamepads yang mencantumkan semua gamepad yang terhubung atau melalui peristiwa Gamepad.GamepadAdded .

Perangkat yang Didukung

Gamepad mendukung GIP (Gaming Input Protocol) atau gamepad yang kompatibel dengan XUSB.

Riwayat versi

Versi Windows Versi SDK Nilai ditambahkan
1607 14393 GetButtonLabel
1703 15063 FromGameController
1703 15063 TryGetBatteryReport

Properti

Gamepads

Daftar semua gamepad yang terhubung.

Headset

Headset audio melekat pada gamepad.

IsWireless

Mendapatkan nilai yang menunjukkan status nirkabel gamepad.

User

Pengguna yang terkait dengan gamepad.

Vibration

Menjelaskan kecepatan motor gamepad.

Metode

FromGameController(IGameController)

Mengembalikan pengontrol game yang diberikan sebagai gamepad.

GetButtonLabel(GamepadButtons)

Mengambil label tombol untuk tombol yang ditentukan.

GetCurrentReading()

Mendapatkan rekam jepret status gamepad.

TryGetBatteryReport()

Mendapatkan informasi tentang status baterai gamepad saat ini.

Acara

GamepadAdded

Memberi sinyal ketika gamepad baru terhubung.

GamepadRemoved

Sinyal ketika gamepad terputus.

HeadsetConnected

Memberi sinyal ketika headset melekat pada gamepad.

HeadsetDisconnected

Memberi sinyal ketika headset terputus dari gamepad.

UserChanged

Sinyal ketika pengguna yang terkait dengan gamepad telah berubah.

Berlaku untuk

Lihat juga