Gamepad クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ゲームパッドを表します。
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
- 継承
- 属性
- 実装
Windows の要件
デバイス ファミリ |
Windows 10 (10.0.10240.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0 で導入)
|
例
次のコード スニペットは、 Gamepad.Gamepads リストをループ処理し、それぞれをベクターに追加する方法を示しています。 ベクターにロックを設定する必要があります。これは、いつでも変更される可能性があるためです (コントローラーが切断されたり再接続されたりする可能性があります)。
#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);
}
}
注釈
Gamepad クラスのインスタンスを直接作成することはできません。代わりに、Gamepad クラスのインスタンスは、接続されているすべてのゲームパッドを一覧表示する Gamepad.Gamepads プロパティまたは Gamepad.GamepadAdded イベントを通じて取得されます。
サポートされているデバイス
ゲームパッド は、GIP (ゲーム入力プロトコル) または XUSB 互換ゲームパッドをサポートしています。
バージョン履歴
Windows のバージョン | SDK バージョン | 追加された値 |
---|---|---|
1607 | 14393 | GetButtonLabel |
1703 | 15063 | FromGameController |
1703 | 15063 | TryGetBatteryReport |
プロパティ
Gamepads |
接続されているすべてのゲームパッドの一覧。 |
Headset |
ゲームパッドに接続されているオーディオ ヘッドセット。 |
IsWireless |
ゲームパッドのワイヤレス状態を示す値を取得します。 |
User |
ゲームパッドに関連付けられているユーザー。 |
Vibration |
ゲームパッドのモーター速度について説明します。 |
メソッド
FromGameController(IGameController) |
指定されたゲーム コントローラーをゲームパッドとして返します。 |
GetButtonLabel(GamepadButtons) |
指定したボタンのボタン ラベルを取得します。 |
GetCurrentReading() |
ゲームパッドの状態のスナップショットを取得します。 |
TryGetBatteryReport() |
ゲームパッドの現在のバッテリー状態に関する情報を取得します。 |
イベント
GamepadAdded |
新しいゲームパッドが接続されたときに通知します。 |
GamepadRemoved |
ゲームパッドが切断されたときに通知します。 |
HeadsetConnected |
ヘッドセットがゲームパッドに取り付けられているときに通知します。 |
HeadsetDisconnected |
ヘッドセットがゲームパッドから切断されたときに通知します。 |
UserChanged |
ゲームパッドに関連付けられているユーザーが変更されたことを通知します。 |