Gamepad
Baseline 廣泛可用 *
Gamepad 介面是 Gamepad API 的一部分,它定義了一個單獨的遊戲手柄或其他控制器,允許訪問按鈕按下、軸位置和 ID 等資訊。
Gamepad 物件可以透過兩種方式之一返回:透過 gamepadconnected 和 gamepaddisconnected 事件的 gamepad 屬性,或者透過 Navigator.getGamepads() 方法返回的陣列中的任何位置獲取。
注意: 遊戲手柄功能的可用性因平臺和控制器的不同組合而異。即使控制器支援某個功能(例如,觸覺反饋),平臺也可能不支援該控制器上的該功能。
例項屬性
Gamepad.axes只讀-
一個數組,表示裝置上的帶有軸的控制元件(例如,模擬搖桿)。
-
一個
gamepadButton物件陣列,表示裝置上的按鈕。 Gamepad.connected只讀-
一個布林值,指示遊戲手柄是否仍連線到系統。
Gamepad.displayId只讀 已棄用 非標準-
返回關聯的
VRDisplay的VRDisplay.displayId(如果相關)——遊戲手柄正在控制其顯示場景的VRDisplay。 Gamepad.hand只讀 實驗性-
一個列舉,定義了控制器正握在哪個手中,或者最有可能握在哪個手中。
Gamepad.hapticActuators只讀 實驗性-
一個數組,包含
GamepadHapticActuator物件,每個物件代表控制器上可用的觸覺反饋硬體。 Gamepad.vibrationActuator只讀-
一個
GamepadHapticActuator物件,代表控制器上可用的觸覺反饋硬體。 Gamepad.id只讀-
一個字串,包含有關控制器的標識資訊。
Gamepad.index只讀-
一個整數,會自動遞增,以確保連線到系統的每個裝置都具有唯一性。
Gamepad.mapping只讀-
一個字串,指示瀏覽器是否已將裝置上的控制元件對映到已知的佈局。
Gamepad.pose只讀 實驗性-
一個
GamepadPose物件,表示與 WebVR 控制器相關的姿態資訊(例如,它在三維空間中的位置和方向)。 Gamepad.timestamp只讀-
一個
DOMHighResTimeStamp,表示此遊戲手柄資料的最後更新時間。
示例
js
window.addEventListener("gamepadconnected", (e) => {
console.log(
"Gamepad connected at index %d: %s. %d buttons, %d axes.",
e.gamepad.index,
e.gamepad.id,
e.gamepad.buttons.length,
e.gamepad.axes.length,
);
});
規範
| 規範 |
|---|
| Gamepad # gamepad-interface |
| Gamepad 擴充套件 # partial-gamepad-interface |
瀏覽器相容性
載入中…