返回首页
最新
CoshUI 是一个用户界面引擎,旨在与不同的游戏框架相结合,并轻松融入现有的游戏循环中。它与后端无关,这意味着相同的用户界面代码可以在不同的框架和图形绑定中运行,视觉上仅有微小的差异。
当前支持的后端包括 Pygame、Raylib、PyOpenGL 和 ModernGL,切换后端只需更改一个参数(例如,从 PygameBackend(screen) 切换到 RaylibBackend() 等),用户界面代码保持不变。
需要注意的是,CoshUI 在技术上表现得像一个即时模式用户界面库,但它借鉴了 React 的思路,每帧对状态进行协调,这使得它能够像一个保留模式系统一样工作。
它的功能包括:
- 使用上下文管理器的 API,带来“声明式”的感觉
- 通过“信号”实现的内置交互系统
- 通过补间动画实现的动画系统
- 自定义和预制主题
- 按需样式化节点
- 以及更多功能
CoshUI 是我在不到两个月的时间里开发的项目,最初是为了研究我正在进行的另一个低级项目的用户界面系统,但最终这个想法变得过于庞大,我不得不将其发布。
我非常希望能收到关于代码和 API 设计的反馈,这也是我进行这项“研究”的主要原因。
请注意,这个项目非常年轻,我是一名自学成才的独立开发者,利用大学新生前的空闲时间制作这个项目和文档。我可能遗漏了很多内容,还有更好、更简洁的做法,以及许多可以提升项目的功能。但这归根结底是学习材料,如果大家能对此发表一些看法,我将不胜感激。
代码库:
<a href="https://gitlab.com/jylefv/CoshUI" rel="nofollow">https://gitlab.com/jylefv/CoshUI</a>(主库)
<a href="https://github.com/JyleFV/CoshUI" rel="nofollow">https://github.com/JyleFV/CoshUI</a>(镜像)
文档:
<a href="https://terrarizer03.github.io/coshui-docs" rel="nofollow">https://terrarizer03.github.io/coshui-docs</a>(有未完成的页面)
安装:
[pip install coshui]