gpt4 book ai didi

javascript - HTML5 Gamepad API 是否仅限于 4 个 Controller ?

转载 作者:技术小花猫 更新时间:2023-10-29 12:08:38 25 4
gpt4 key购买 nike

通过在浏览器中使用 HTML5 Gamepad API,我能够正确地从 4 个 Controller 获取输入。

https://www.w3.org/TR/gamepad/

我遇到的问题是从 8 个 Controller 获取输入。这些都是 Xbox 360 Controller ,我知道 XInput API 有一个遗留限制。但是查看上面的 HTML5 API 文档,我看不到任何提及限制或 API 实现方式的内容。

navigator.getGamepads(); 似乎在 Chrome 和 Edge 中返回一个包含 4 个未定义点的数组,在 FireFox 中返回一个似乎仍达到 4 个限制的未指定数组。

您可以看到 Windows 10 验证我在“设备”面板中连接了 8 个 Controller ,并且所有 Controller 都可以在浏览器中单独工作,最多 4 个游戏 handle 。所以我想知道为什么 Gamepad API 在这里限制了我 - 是 Gamepad API 还是 XInput 的设计?

8 Controllers Connected

最佳答案

好的,我已经做了一些广泛的研究和测试,并且对回答这个问题充满信心。

正如您在上面的链接文档中所见,Gamepad API 规范并未定义对 Controller 的限制。

在实践中,navigator.getGamepads() 返回:

  • 在 Chrome 中,一个包含 4 个未定义值的 GamepadList(现在这可能是一个普通数组?),其中填充了4 个 游戏 handle 对象。
  • 在(旧版)Edge 中,一个包含 4 个未定义值的数组,其中填充有4 个 游戏 handle 对象。
  • 在 Firefox 中,一个长度为零的数组,其中填充了任意数量的 Gamepad 对象。

除了可能影响实现之外,XInput 似乎不是罪魁祸首,因为我能够在 Firefox 中混合超过四个的输入,而其他浏览器无法识别这些输入。

我认为这可以归因于 Chrome 和 Edge 背后的引擎部分实现不当,我只能希望他们看到光明并且 Firefox 保持其实现的灵 active 。理想情况下,标准明确规定了法律。

关于javascript - HTML5 Gamepad API 是否仅限于 4 个 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41251051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com