XRInputSourceArray:entries() 方法
XRInputSourceArray 接口的 entries() 方法会返回一个 JavaScript iterator,你可以使用这个迭代器遍历输入源数组中的键值对。数组中的每一项都是一个 XRInputSource 对象。
最常见的情况是,你会将它与诸如 for...of 这样的语句结合使用。
语法
js
entries()
参数
无。
返回值
一个 iterator,可以用来遍历输入源数组中包含的 XRInputSource 对象列表。
示例
此示例代码段获取会话的输入列表,并尝试使用它来处理它支持的每种类型的输入设备。
js
let sources = xrSession.inputSources;
for (const input of sources.entries()) {
if (input.gamepad) {
checkGamepad(input.gamepad);
} else if (
input.targetRayMode === "tracked-pointer" &&
input.handedness === player.handedness
) {
/* Handle main hand controller */
handleMainHandInput(input);
} else {
/* Handle other inputs */
}
}
对于列表中的每个输入,游戏手柄的输入会使用该输入的 Gamepad 对象,该对象可以从其 gamepad 属性获取,然后传递给 checkGamepad() 方法进行处理。
对于其他设备,我们会查找玩家主手上的 tracked-pointer 设备,并将它们分派给 handleMainHandInput() 方法。
规范
此特性似乎未在任何规范中定义。浏览器兼容性
加载中…