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

 

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

接口

Gamepad
表示已连接的游戏控制器。
GamepadButton
表示已连接手柄上的一个按键。
GamepadEvent
表示与控制器相关的事件的事件对象。

实验性 Gamepad 扩展

GamepadHapticActuator
表示控制器中的硬件,用于向用户提供触觉反馈(如果可用)最常见的是振动硬件。
GamepadPose
表示控制器的位置方向(例如, 在3D 空间中的位置和方向)于 WebVR 控制器中。

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

其他接口扩展

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

Window 事件

Window.ongamepadconnected
表示当控制器连接时(当gamepadconnected 事件触发时)运行的处理程序。
Window.ongamepaddisconnected
表示当控制器断开连接时(当gamepaddisconnected 事件触发时)运行的处理程序。

教程与指南

规范

规范 状态 备注
Gamepad Extensions Editor's Draft Defines the Experimental Gamepad extensions.
Gamepad
The Gamepad API specification
Working Draft Initial definition

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

特性 Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基础支持 21.0 webkit
35.0
(Yes) 29.0 (29.0) 未实现 15.0 webkit
22.0
10.1
Gamepad 扩展 未实现 未实现 未实现[1] 未实现 未实现 未实现
特性 Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Samsung Internet
基础支持 未实现 (Yes) 32.0 (32.0) 未实现 未实现 未实现 Yes
Gamepad 扩展 未实现 未实现 未实现[1] 未实现 未实现 未实现 未实现

[1] 可在版本55及以上的Firefox Nightly 和 Beta版中启用。相关条目为 dom.gamepad-extensions.enabled

另请参阅

文档标签和贡献者

此页面的贡献者: zsxeee
最后编辑者: zsxeee,