1 分•作者: jylefv•大约 12 小时前
CoshUI 是一个 UI 引擎,旨在封装不同的游戏框架并轻松集成到现有的游戏循环中。它与后端无关,这意味着相同的 UI 代码可以在不同的框架和图形绑定中运行,只有细微的视觉差异。
目前支持的后端包括 Pygame、Raylib、PyOpenGL 和 ModernGL。切换后端只需更改一个参数(例如,从 `PygameBackend(screen)` 到 `RaylibBackend()`),UI 代码保持不变。
值得注意的是,CoshUI 在技术上表现得像一个即时模式 UI 库,但它借鉴了 React 的思想,在每一帧中进行状态协调,使其能够像一个保留模式系统一样运行。
其功能包括:
- 使用上下文管理器实现“声明式”感觉的 API
- 通过“信号”内置的交互系统
- 通过补间动画实现的动画系统
- 自定义和预制主题
- 按需样式化节点
- 以及更多
CoshUI 是我开发了不到两个月的一个项目。我最初是想为我正在开发的另一个更底层的项目研究 UI 系统,但这个想法最终变得过于宏大,以至于我不得不将其发布出来。
我非常希望得到关于代码和 API 设计的反馈,因为 API 设计是我这次“研究”的主要目标。
请注意,这个项目还非常年轻,我是一名自学成才的独立开发者,在大学一年级入学前利用业余时间完成了所有工作(项目和文档)。我可能遗漏了很多东西,也可能存在更好、更简洁的实现方式,并且还有许多可以提升项目的功能。但它最终是学习的材料,如果您能提供一些想法,我将不胜感激。
代码库:
[https://gitlab.com/jylefv/CoshUI](https://gitlab.com/jylefv/CoshUI) (主库)
[https://github.com/JyleFV/CoshUI](https://github.com/JyleFV/CoshUI) (镜像)
文档:
[https://terrarizer03.github.io/coshui-docs](https://terrarizer03.github.io/coshui-docs) (部分页面尚未完成)
安装:
[pip install coshui]