我是JavaScript的新手,所以真的不知道该去哪里。下面是一开始就福尔斯的代码。
async function updateControls() {
const gamepad = navigator.getGamepads()[0];
if (gamepad != undefined) {
gpConf.buttons.padUp = gamepad.buttons[12].value
gpConf.buttons.padDown = gamepad.buttons[13].value
gpConf.buttons.padLeft = gamepad.buttons[14].value
gpConf.buttons.padRight = gamepad.buttons[15].value
//setting axes
gamepad.axes.forEach((value, index) => {
gpControls.axes[index] = exponentiate(value)
});
//setting paddles
gpControls.paddles.left = Number(gamepad.buttons[6].value.toFixed(3))
gpControls.paddles.right = Number(gamepad.buttons[7].value.toFixed(3))
gpControls.buttons.L1 = gamepad.buttons[4].value
gpControls.buttons.R1 = gamepad.buttons[5].value
gpControls.buttons.square = gamepad.buttons[2].value
gpControls.buttons.triangle = gamepad.buttons[3].value
setTimeout(() => {
updateControls();
}, 100);
dispatch('car-control', gpControls)
dispatch('car-conf', gpConf)
}
}
字符串
我在谷歌上寻求帮助,但没有找到解决办法。出现的错误是:“Uncaught(in promise)TypeError:navigator.getGamepads不是函数”
我不知道这是否相关,但我正在使用Windows 10和Firefox。
1条答案
按热度按时间a8jjtwal1#
根据the MDN docs on this function,Firefox需要secure context才能使用它。这意味着您需要从自己的计算机或通过HTTPS运行网页。您现在也可以使用其他浏览器,如Chrome或Edge,尽管它们将来可能也需要安全的上下文。