概述

Gamepad API 允许获取已连接的手柄列表与输入状态。通过轮询读取 axesbuttons 用于控制与交互。

用法/示例


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

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部