XRInputSource: gamepad 属性
只读 XRInputSource
属性 gamepad
返回一个 Gamepad
对象,描述 XR 输入源上的按钮和轴的状态,如果它是游戏手柄或类似设备。如果设备不是游戏手柄类设备,则此属性的值为 null
。
返回的 Gamepad
实例的行为如 Gamepad API 中所述。但是,需要注意以下几点
Gamepad
实例属于XRInputSource
,不包含在navigator.getGamepads()
返回的数组中。游戏手柄严格与 WebXR 硬件相关联,而不是通用游戏设备。Gamepad.id
为空字符串(""
)Gamepad.index
为-1
Gamepad.connected
为true
,直到XRInputSource
从活动 XR 输入源列表中删除,或XRSession
结束。- 如果
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 游戏手柄模块 - 级别 1 # dom-xrinputsource-gamepad |
浏览器兼容性
BCD 表仅在浏览器中加载