这个项目能做什么
Bevy Lunex 是一个专为 Rust 中的 Bevy ECS(实体组件系统)框架构建的保留模式布局引擎。它允许开发者使用标准的 ECS 组件和系统来创建自定义 UI,而非采用即时模式 GUI 模式。
主要功能包括:
- 保留模式布局模型:布局仅计算一次并存储,相比即时模式 GUI 系统减少了重复计算的开销。这对于静态或更新不频繁的 UI 提供了性能优势。
- 类 Flexbox 流式布局:内置的 UiLayout::flow() 模型支持内容自适应、空间填充、相对尺寸和文本换行,灵感来源于 Clay 布局系统。
- 宽高比支持:该引擎设计用于处理所有窗口尺寸和宽高比而不变形,布局类型能对尺寸变化做出直观响应。
- 2D 和 3D(世界空间)UI:利用 Bevy 的 Transform 组件,Lunex 支持平面 2D 和空间 3D UI 元素,便于在游戏中集成叙事性 UI。
- 多状态样式:诸如 UiColor 和 UiLayout 等组件支持为不同状态(如基础状态和悬停状态)定义布局和颜色,并支持可配置的过渡速度。
- ECS 原生交互性:悬停、点击和指针事件通过观察者和系统处理,使 UI 行为能与 Bevy 应用的其余部分完全组合。
该库强调按功能划分组件的设计,生成 UI 元素时需在标准 Bevy ECS 风格中组合 UiLayout、UiHover、UiColor 以及可拾取/渲染组件。
文档可通过 Lunex Book 和 Docs.rs 获取,同时提供了一个名为 Bevypunk 的生产级示例项目。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。