Gamepad - Web API 接口参考 编辑

Gamepad API 的 Gamepad 接口,定义了一个独立的游戏手柄或其他控制器,允许访问控制器的信息,譬如按钮按下的状态、坐标输入的位置。游戏手柄或其他控制器,允许访问如按钮按下,和ID等信息。

Gamepad 对象有两种方式返回值:通过 gamepadconnectedgamepaddisconnected 事件的  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 DraftInitial defintion
WebVR 1.1
displayId
DraftDefines the Gamepad.displayId property.
Gamepad Extensions
Gamepad extensions
Editor's DraftDefines the Experimental extensions to Gamepad

浏览器兼容性

BCD tables only load in the browser

另请参阅

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:131 次

字数:6018

最后编辑:6年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文