Gamepad API

Experimental: 这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

Gamepad API 可以给予开发者一种简单、统一的方式来识别并响应游戏控制器(手柄)。其中包含了三个接口、两个事件、一个特殊函数,用来响应控制器的连接与断开、获取其他关于控制器的信息以及识别当前是哪个按键或是哪个控制器被按下了。

接口

Gamepad

表示已连接的游戏控制器。

GamepadButton

表示已连接手柄上的一个按键。

GamepadEvent

表示与控制器相关的事件的事件对象。

实验性 Gamepad 扩展

GamepadHapticActuator (en-US)

表示控制器中的硬件,用于向用户提供触觉反馈(如果可用)最常见的是振动硬件。

GamepadPose

表示控制器的位置方向(例如,在 3D 空间中的位置和方向)于 WebVR 控制器中。

另请参阅 Gamepad 接口扩展,来获取上方的功能的相关信息。

其他接口扩展

Navigator 对象中的一个扩展。会返回一个 名为Gamepad 的数组对象,其中每个数组元素对应一个已连接的控制器。

Window 事件

Window.ongamepadconnected

表示当控制器连接时(当gamepadconnected (en-US) 事件触发时)运行的处理程序。

Window.ongamepaddisconnected

表示当控制器断开连接时(当gamepaddisconnected (en-US) 事件触发时)运行的处理程序。

教程与指南

规范

Specification
Gamepad
# gamepad-interface
Gamepad Extensions
# partial-gamepad-interface

浏览器兼容性

BCD tables only load in the browser

另请参阅