XRInputSourceArray: entries() 方法

实验性: 这是一个 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表

XRInputSourceArray 接口的 entries() 方法返回一个 JavaScript 迭代器,然后可以使用它迭代输入源数组中的键/值对。数组中的每个项都是一个 XRInputSource 对象。

最常见的是,你会将它与 for...of 等语句一起使用。

语法

js
entries()

参数

无。

返回值

一个 迭代器,可用于遍历输入源数组中包含的 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 对象的 checkGamepad() 函数,该对象取自其 gamepad 属性。

对于其他设备,我们寻找玩家主手中的 tracked-pointer 设备,并将它们分派到 handleMainHandInput() 方法。

规范

未找到规范

未找到 api.XRInputSourceArray.entries 的规范数据。
检查此页面的问题 或为缺少的 spec_url 贡献。 mdn/browser-compat-data。还要确保规范包含在 w3c/browser-specs.

浏览器兼容性

BCD 表格仅在浏览器中加载