1 个不稳定版本
0.1.0 | 2021年12月16日 |
---|
#364 in #控制
24KB
194 行
Puppetmaster
编写游戏的易于使用的输入处理。
这个crate暴露了不同类型的输入处理器。根据您的游戏引擎如何提供输入数据,选择要使用哪一个。
EventInputHandler
当您的游戏引擎使用事件时PollingInputHandler
当您的游戏引擎提供一组当前按下的键时QueryInputHandler
当您的游戏引擎提供调用以查询键状态的功能时
输入与控制
这个crate在输入和控制之间做出了区分。 输入 是您的游戏引擎提供的原始按键码; 控制 是您的游戏对此所做的事情。
因此,像 Key::W
这样的东西将是一个输入,由您的游戏引擎预定义,您可以将它映射到您在游戏代码中定义的 Control::Up
。
多个输入可以映射到同一个控制,但反之则不行。因此,W键和上箭头都可以映射到 Control::Up
,但是您不能让Shift键同时映射到蹲下和冲刺。
这个crate还包括使用每种输入处理器类型的示例代码。
这些都是用GGEZ编写的。我希望有不同类型的游戏引擎来展示Puppetmaster的灵活性,但遗憾的是,GGEZ和Macroquad在alsa
版本上存在冲突。所以,一切都是GGEZ,因为您可以使用所有3种类型的输入处理器。
依赖关系
~530–720KB
~13K SLoC