首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gamepad API "gamepadconnected“不工作

Gamepad API "gamepadconnected“不工作
EN

Stack Overflow用户
提问于 2017-06-24 11:04:19
回答 2查看 2K关注 0票数 2

我使用的是Gamepad API "gamepadconnected“函数,它不能正常工作。然而,"gamepaddisconnected“函数由于某种原因而起作用。连接我的蓝牙控制器时,控制台中没有显示任何内容,但是,它确实显示断开连接时显示的信息。

我在这里所得到的是非常基本和标准的:

代码语言:javascript
复制
window.addEventListener("gamepadconnected", function(e) {
  console.log("Controller connected");
});

window.addEventListener("gamepaddisconnected", function(e) {
  console.log("Controller disconnected");
});

我在这里错过了什么?哪里出问题了?我确保第一个有重点的页面是上面的脚本。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-25 06:51:31

MDN声明:“如果当页面加载时,游戏垫已经连接,则当用户按下按钮或移动轴时,将游戏gamepadconnected事件发送到焦点页面。”因此,当您连接pad时,您的页面并不总是接收gamepadconnected事件。API

因此,最好让用户按一个按钮来启动应用程序。这也是有用的,当有多个游戏垫连接到计算机,您的应用程序必须知道使用哪一个。

票数 4
EN

Stack Overflow用户

发布于 2017-07-27 04:45:04

Chrome是臭名昭著的(当然在我使用它之后!)对于its,我们可以说,是GamePad API的个别实现。一个问题是,据我所知,它还不支持" gamePadConnected“事件,您必须轮询GamePad对象的GamePad属性,以便对连接和断开执行任何合理的操作。我知道这完全是痛苦,但这可能反映了一个事实,即这个API的W3C标准仍然在变化中。您还会发现还有其他问题,例如Windows上的browser X与Linux上的browser X不同。

我不知道是否有人尝试过将这些设备插入到Android或iOS设备中(除非您正计划将一个flight移植到该设备上,否则这可能对触摸屏上的需求来说是多余的),但我怀疑如果进行这些实验,还会出现更多的兼容性问题。如果你有能力进入带有USB接口的Android智能手机,并在智能手机浏览器中修补JavaScript,你可能会发现更有趣的问题正在浮出水面。

至于传统的操纵杆(比如我10岁的微软Sidewinder ),这些操纵杆有自己的乐趣可以扔给你。我目前正在努力使其他合理的代码工作与其怪异,例如GamePad对象中的一个轴属性被分配给,等待它,帽子开关,在这个设备上是一个数字数据源,而不是一个模拟数据源。当您坚持使用GamePad API时,要注意兼容性问题的浪潮,直到W3C最终确定标准。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44735703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档