概述Gamepad API 允许获取已连接的手柄列表与输入状态。通过轮询读取 `axes` 与 `buttons` 用于控制与交互。用法/示例addEventListener('gamepadconnected', e => {
console.log('connected', e.gamepad.id)
})
addEventListener('gamepaddisconnected', e => {
console.log('disconnected', e.gamepad.id)
})
function loop() {
const pads = navigator.getGamepads()
const pad = pads[0]
if (pad) {
const [lx, ly] = pad.axes
const a = pad.buttons[0].pressed
// 使用 lx/ly 与按钮映射控制
}
requestAnimationFrame(loop)
}
loop()
工程建议建立输入映射与死区处理,避免轻微抖动;对多平台手柄差异做适配。提供可视化调试与可配置映射,提升用户体验。在不支持环境提供键盘/鼠标回退方案。参考与验证MDN:Gamepad — https://developer.mozilla.org/docs/Web/API/Gamepad_API

发表评论 取消回复