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