GamepadButton
Baseline 廣泛可用 *
GamepadButton 介面定義了遊戲手柄或其他控制器上的單個按鈕,允許訪問控制裝置上可用不同型別按鈕的當前狀態。
透過查詢 Gamepad 介面的 buttons 屬性返回的陣列中的任何值,都可以獲得一個 GamepadButton 物件。
例項屬性
-
一個布林值,指示按鈕當前是否被按下(
true)或未被按下(false)。 -
一個布林值,指示按鈕當前是否被觸控(
true)或未被觸控(false)。 -
一個雙精度浮點數值,用於表示模擬按鈕(如許多現代遊戲手柄上的扳機)的當前狀態。這些值被歸一化到 0.0 到 1.0 的範圍內,其中 0.0 表示按鈕未被按下,1.0 表示按鈕被完全按下。
示例
以下示例中的按鈕值儲存為 GamepadButton 物件的陣列。這個簡單的示例檢查按鈕的 GamepadButton.value 是否大於 0,或者 GamepadButton.pressed 屬性是否表明按鈕已被按下。
js
function gameLoop() {
const gp = navigator.getGamepads()[0];
if (gp.buttons[0].value > 0 || gp.buttons[0].pressed) {
b--;
} else if (gp.buttons[1].value > 0 || gp.buttons[1].pressed) {
a++;
} else if (gp.buttons[2].value > 0 || gp.buttons[2].pressed) {
b++;
} else if (gp.buttons[3].value > 0 || gp.buttons[3].pressed) {
a--;
}
ball.style.left = `${a * 2}px`; // ball is a UI widget
ball.style.top = `${b * 2}px`;
requestAnimationFrame(gameLoop);
}
規範
| 規範 |
|---|
| Gamepad # gamepadbutton-interface |
瀏覽器相容性
載入中…