1个不稳定版本

0.1.0 2023年4月7日

#143#event

每月22次下载
bevy_action_animation 中使用

MIT/Apache

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())
    ...
}

现在,可以使用 ActionEventEventReaderEventWriter 一起使用,就像任何正常的 Bevy 事件一样。

兼容性

Bevy 版本 插件版本
0.10.x 0.1

依赖关系

~8–16MB
~196K SLoC