XRInputSource: gamepad 属性
只读的 XRInputSource 属性 gamepad 返回一个 Gamepad 对象,该对象描述了 XR 输入源的按钮和轴的状态,前提是该输入源是游戏手柄或可比设备。如果设备不是类似游戏手柄的设备,此属性的值将为 null。
返回的 Gamepad 实例的行为遵循 Gamepad API 的描述。但是,有几点需要注意:
- 属于
XRInputSource的Gamepad实例不包含在navigator.getGamepads()返回的数组中。游戏手柄严格与 WebXR 硬件相关联,而不是通用游戏设备。 Gamepad.id是一个空字符串 ("")Gamepad.index是-1Gamepad.connected在XRInputSource从活动 XR 输入源列表中移除或XRSession结束之前始终为true。- 如果
Gamepad.axes报告的轴代表触摸板的轴,并且GamepadButton.touched属性为false,则该轴的值为 0。 Gamepad.mapping返回 "xr-standard"。
示例
使用游戏手柄输入源
js
for (const source of frame.session.inputSources) {
const gamepad = source.gamepad;
if (gamepad) {
if (gamepad.buttons[2].pressed) {
// do something
}
}
}
规范
| 规范 |
|---|
| WebXR Gamepads Module - Level 1 # dom-xrinputsource-gamepad |
浏览器兼容性
加载中…