Latest commit 8000181

输入处理

相关的官方文档:Input Example


Bevy支持以下输入:

  • 键盘(按下、释放)
  • 字符(文本输入、操作系统处理的键盘布局)
  • 鼠标
    • 相对运动
    • 指针位置
    • 按键
    • 滚轮
  • 触摸屏(多点触控)
  • 手柄/控制器/摇杆(通过 gilrs 库)

暂时不支持传感器(加速计、陀螺仪、VR 头部跟踪等)。

对于大多数输入类型(在有意义的地方),Bevy 提供了两种处理方法:

  • 通过资源
  • 或通过事件

有些输入仅作为事件提供。

检查状态是用 Input(数字式输入)、Axis(模拟式输入)或 Touch(触屏式输入)等资源来完成的:

  • 数字式,包含“按下”或“释放”两种状态,获取其中某个状态
  • 模拟式,包含一个范围,获取这个范围的某个值
  • 触屏式,[TODO]

事件是一种更低级、更全面的方法。如果想从输入设备获得所有输入活动,就用事件,而不是仅仅检查特定的输入。

输入映射

Bevy 还没有内置“输入映射”功能。

社区制作的插件可能有用:Bevy Assets - input#