手柄支持
引.故事 编辑器、故事浏览器和网页内故事均支持手柄操作。
默认映射
| 手柄按键 | 功能 |
|---|---|
| A | 确认 / 选择 |
| B | 返回(当存在后退事件并设定为 -1 时) |
| 方向键 / 左摇杆 | 导航焦点 / 选项切换 |
| X | 辅助操作(由具体场景定义) |
| Y | 辅助操作 |
| Start | 开始 / 菜单 |
| Select | 选择 |
| LB / RB | 左右肩键 |
| LT / RT | 左右扳机 |
| LS / RS | 按下摇杆 |
自动焦点
在场景中,系统会自动管理手柄焦点在不同事件按钮之间切换。移动方向键时,焦点按照以下逻辑跳转:
- 横向排列时:左右切换
- 竖向排列时:上下切换
- 跨组件焦点由系统自动计算最近元素
后台循环
手柄输入通过 requestAnimationFrame 持续轮询,在页面不可见时自动暂停,减少资源消耗。
自定义绑定
在脚本中可通过以下方式访问手柄状态:
js
import { gamepad } from '@/assets/gamepad.js'
// 注册自定义事件
gamepad.on('A', () => {
// 按下 A 键
})
// 焦点悬停的元素 ID
import { gamepadHover } from '@/assets/gamepad.js'