# 哈里PygameUi **Repository Path**: harryxiaocn/harry-pygame-ui ## Basic Information - **Project Name**: 哈里PygameUi - **Description**: pygame ui封装自用 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-02-05 - **Last Updated**: 2024-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, pygame ## README # Pygame UI 框架 这是一个基于 Pygame 的简单 UI 框架,用于创建交互式图形用户界面。 ## 功能特点 - 支持面板、文本、图像和按钮等基本 UI 元素 - 可嵌套的 UI 结构 - 支持鼠标事件处理 - 可自定义的按钮状态(默认、悬停、按下) - 文本对齐和阴影效果 - 图像缩放和网格绘制 - 支持 UI 元素的拖拽 ## 主要类 - `Panel`: 基础 UI 容器类 - `Text`: 文本显示类 - `Img`: 图像显示类 - `Btn`: 交互式按钮类 ## 使用方法 1. 导入所需模块: ```python from ui import Panel, Text, Img, Btn ``` 2. 创建 UI 元素: ```python root_panel = Panel(pos=(0, 0), size=(800, 600)) button = Btn(text="点击我", pos=(100, 100), size=(200, 50), downFunc=your_click_function) root_panel.AddChildNode("button", button) ``` 3. 在游戏循环中绘制 UI: ```python root_panel.Draw(screen) ``` 4. 处理事件: ```python for event in pygame.event.get(): root_panel.In(pygame.mouse.get_pos(), event) ``` ## 注意事项 - 确保已安装 Pygame 库 - 使用前请仔细阅读每个类的文档字符串以了解详细用法 - 自定义按钮功能时,请使用 `RegisterFunc` 装饰器注册函数 - 确保在 Pygame 初始化后调用 `pygame.init()` - 确保在 Pygame 主循环中处理事件和更新 UI 元素 ## 安装 确保你已经安装了 Python 和 Pygame。然后,你可以直接将 `ui.py` 文件复制到你的项目目录中。 希望这个 UI 框架能帮助你快速创建和维护复杂的用户界面。 ## 贡献 欢迎提交问题报告和改进建议。如果您想贡献代码,请先开 issue 讨论您的想法。 ## 许可证 本项目采用 [MIT 许可证](LICENSE)。