5 个版本

0.14.1 2024年8月2日
0.14.0 2024年7月4日
0.14.0-rc.42024年6月27日
0.14.0-rc.32024年6月16日
0.14.0-rc.22024年6月6日

#717 in 游戏开发

Download history 765/week @ 2024-06-06 833/week @ 2024-06-13 603/week @ 2024-06-20 1195/week @ 2024-06-27 7229/week @ 2024-07-04 6005/week @ 2024-07-11 7094/week @ 2024-07-18 7111/week @ 2024-07-25 6455/week @ 2024-08-01 6734/week @ 2024-08-08 7391/week @ 2024-08-15

28,491 每月下载量
用于 106 个框架 (11 直接)

MIT/Apache

3MB
50K SLoC

在 Bevy 中,状态是应用范围内的相互依赖的有限状态机,通常用于建模程序的较大规模结构:游戏是否暂停,玩家是否处于战斗状态,资源是否加载等等。

此模块提供了 3 种不同的状态类型,所有这些类型都实现了 States 特性

  • 标准 States 只能通过手动设置 NextState<S> 资源来更改。这些状态是其他状态类型构建的基础,可以用于许多简单模式。请参阅 状态示例 了解简单用例。
  • SubStates 是其他状态的子状态 - 它们可以通过 NextState<S> 手动更改,但如果源状态不在正确的状态,它们将从 World 中删除。请参阅 子状态示例 了解基于 derive 宏的简单用例,或阅读特性文档以了解更复杂的情况。
  • ComputedStates 完全由其他状态派生而来 - 它们提供了一个 compute 方法,该方法接受源状态并返回它们的派生值。它们在需要源状态的简化视图的情况下特别有用 - 例如,有一个 InAMenu 计算状态,从定义多个不同菜单的源状态派生而来。请参阅 计算状态示例 以查看这些状态的用法示例。

大多数与状态相关的实用程序涉及在状态之间运行系统,或在确定是否运行某些系统时使用,尽管它们也可以更直接地使用。这使得在菜单之间切换、添加加载界面、暂停游戏等操作变得更加容易。

具体来说,Bevy提供了以下实用程序

依赖项

~6–8.5MB
~148K SLoC