游戏手柄
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 控制器关联的姿势信息(例如,其在 3D 空间中的位置和方向)。 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-interface |
游戏手柄扩展 # partial-gamepad-interface |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。