1个不稳定版本
0.1.0 | 2023年4月7日 |
---|
#143 在 #event
每月22次下载
在 bevy_action_animation 中使用
7KB
bevy_action
Bevy的简单动作系统。
简介
此插件主要存在是为了方便其他插件(例如 bevy_action_animation
)钩入到通用的动作系统中。
它还提供了一种方法来解耦游戏逻辑的某些部分,以避免硬编码,例如将输入处理硬编码到动作而不是直接到移动逻辑。
它有三个主要组件,即 Action
特性、ActionEvent
事件和 ActionPlugin
。
用法
首先定义自己的类型来表示动作(推荐使用枚举)。然后需要派生所需的特性和手动实现 Action
特性(将来这将可派生)
#[derive(Clone, Debug, PartialEq, Eq, Hash, Default, Serialize, Deserialize, TypeUuid)]
#[uuid = "UUID_HERE"]
enum MyAction {
#[default]
Idle,
Left,
Right,
Jump
}
impl Action for MyAction {}
接下来,使用此类型作为泛型参数注册插件
fn main() {
App::new()
...
.add_plugin(ActionPlugin::<MyAction>::default())
...
}
现在,可以使用 ActionEvent
与 EventReader
和 EventWriter
一起使用,就像任何正常的 Bevy 事件一样。
兼容性
Bevy 版本 | 插件版本 |
---|---|
0.10.x | 0.1 |
依赖关系
~8–16MB
~196K SLoC