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()
方法。
规范
此特性似乎未在任何规范中定义。浏览器兼容性
加载中…