Gamepad - Web API 接口参考 编辑
Gamepad API 的 Gamepad
接口,定义了一个独立的游戏手柄或其他控制器,允许访问控制器的信息,譬如按钮按下的状态、坐标输入的位置。游戏手柄或其他控制器,允许访问如按钮按下,和ID等信息。
Gamepad 对象有两种方式返回值:通过 gamepadconnected
和 gamepaddisconnected
事件的 gamepad
属性,或者在任意位置抓取 Navigator.getGamepads()
方法返回的数组。
属性
Gamepad.axes
只读- 一个表示控制器设备上存在的坐标轴的数组 (比如控制器摇杆)。
Gamepad.buttons
只读- 一个
gamepadButton
对象的数组,表示设备上的按键的数组。 Gamepad.connected
只读- 一个表示控制器是否仍然连接着系统的布尔值。
Gamepad.displayId
只读- 返回与
VRDisplay
相关的VRDisplay.displayId
(如果有相关) — 控制器所控制的VRDisplay
场景。 Gamepad.id
只读- 一个包含着控制器标识信息的
DOMString
。 Gamepad.index
只读- 一个自增的整形数字,对于当前连接到系统的每一个设备是唯一的。
Gamepad.mapping
只读- 一个指示浏览器是否被映射到某个已知布局的字符串。
Gamepad.timestamp
只读- 一个表示上次控制器数据更新时间的
DOMHighResTimeStamp
。 Gamepad 的实验性扩展
以下接口被定义于 Gamepad Extensions 规范中,且提供了诸如触觉反馈和WebVR控制器姿态方位信息等实验功能的访问。
Gamepad.hand
只读- 一个枚举项,定义了控制器是用哪只手拿着的,或最可能是哪只手拿着的。
Gamepad.hapticActuators
只读- 一个包含
GamepadHapticActuator
对象的数组,其中表示控制器上可用的触觉反馈硬件。 Gamepad.pose
只读- 一个表示WebVR控制器姿态方位信息的
GamepadPose
对象(比如其在3D 空间中的位置和方向)。
示例
window.addEventListener("gamepadconnected", function(e) {
console.log("控制器已连接与 %d 位: %s. %d 个按钮, %d 个坐标方向。",
e.gamepad.index, e.gamepad.id,
e.gamepad.buttons.length, e.gamepad.axes.length);
});
规范
规范 | 状态 | 备注 |
---|---|---|
Gamepad Gamepad | Working Draft | Initial defintion |
WebVR 1.1 displayId | Draft | Defines the Gamepad.displayId property. |
Gamepad Extensions Gamepad extensions | Editor's Draft | Defines the Experimental extensions to Gamepad |
浏览器兼容性
BCD tables only load in the browser
另请参阅
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论