Gamepad API
Experimental
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
Gamepad API 可以给予开发者一种简单、统一的方式来识别并响应游戏控制器(手柄)。其中包含了三个接口、两个事件、一个特殊函数,用来响应控制器的连接与断开、获取其他关于控制器的信息以及识别当前是哪个按键或是哪个控制器被按下了。
接口
Gamepad
- 表示已连接的游戏控制器。
GamepadButton
- 表示已连接手柄上的一个按键。
GamepadEvent
- 表示与控制器相关的事件的事件对象。
实验性 Gamepad 扩展
GamepadHapticActuator
- 表示控制器中的硬件,用于向用户提供触觉反馈(如果可用)最常见的是振动硬件。
GamepadPose
- 表示控制器的位置方向(例如, 在3D 空间中的位置和方向)于 WebVR 控制器中。
另请参阅 Gamepad 接口扩展,来获取上方的功能的相关信息。
其他接口扩展
Navigator
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 |
浏览器兼容性
BCD tables only load in the browser
另请参阅
- The Gamepad API by Ted Mielczarek and Robert Nyman
- 简单的 API 演示页面 (源码)