我正在使用不能正常工作的Gamepad API“ gamepadconnected”功能。但是,出于某些原因,“ gamepaddisconnected”功能仍然有效。连接我的蓝牙控制器后,控制台中没有任何显示,但是,它确实显示了断开连接时显示的信息。
我在这里拥有的是非常基本和标准的:
window.addEventListener("gamepadconnected", function(e) {
console.log("Controller connected");
});
window.addEventListener("gamepaddisconnected", function(e) {
console.log("Controller disconnected");
});
我在这里想念什么?哪里出问题了?我确保第一个重点页面是上面的脚本。谢谢你的帮助。
最佳答案
MDN指出:“如果在页面加载时已经连接了游戏手柄,则当用户按下按钮或移动轴时,会将gamepadconnected事件调度到焦点页面。”因此,当您连接键盘时,您的页面将不会总是收到gamepadconnected
事件。 https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
因此,最好是让用户按下按钮以启动您的应用程序。当有多个游戏手柄连接到计算机并且您的应用程序必须知道要使用哪个游戏手柄时,这也很有用。