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 |
浏览器兼容性
加载中…