跳到主要内容

HiEasyX 简介

你好,欢迎来到 HiEasyX 的世界!🎉

如果你曾经用过 EasyX 做图形界面,一定会发现:画图形很容易,但做"真正的 UI"——比如按钮、输入框、滑动条、拖拽面板——却相当麻烦。HiEasyX 就是为了解决这个问题而生的。

HiEasyX 是什么?

HiEasyX 是一个基于 EasyX 的 IMGUI(Immediate Mode GUI) 扩展库。简单来说,它在 EasyX 之上搭建了一套完整的即时模式 GUI 框架,让你可以用几行代码就画出漂亮的交互界面。

// 一个带标题栏的窗口 + 一个按钮,就这么简单
if (HX::Window(HXStr("我的窗口"), profile)) {
HX::Button(HXStr("点我"), btnProfile);
}

它适合做什么?

HiEasyX 非常适合以下场景:

  • 小型工具软件:配置编辑器、资源打包工具、调试面板
  • 游戏引擎配套编辑器:关卡编辑器、材质编辑器、属性检查器
  • 算法可视化:把算法的每一步状态用直观的控件展示出来
  • 学习 GUI 原理:代码简洁,没有复杂的消息映射和事件绑定
💡 小提示

如果你只是想画个圆、画条线,原生 EasyX 完全够用了。但如果你想做"能点击、能输入、能拖拽"的界面,HiEasyX 会让你的效率提升一个数量级。

核心优势一览

特性说明
IMGUI 范式每帧重建 UI,状态管理天然简单,没有复杂的回调绑定
现代主题内置 ModernDark / ModernDim 两套专业级暗色主题
丰富控件按钮、复选框、滑动条、文本输入、下拉框、表格、树形视图、代码编辑器 …
高级布局DockSpace 多面板布局、Viewport 离屏渲染、Splitter 拖拽分隔条
蓝图编辑器内置完整的节点编辑器,支持缩放、拖拽连线、执行引擎
插件系统可注册自定义节点、主题、控件
零依赖只需要 EasyX,无需 Qt、wxWidgets 等重量级框架

与 EasyX 的关系

我们可以把 HiEasyX 想象成"站在巨人肩膀上":

  • EasyX 负责底层:窗口创建、图形绘制、IMAGE 缓冲区、peekmessage 消息获取
  • HiEasyX 负责上层:控件封装、布局系统、主题管理、交互逻辑
ℹ️ 架构关系

HiEasyX 并不是 EasyX 的替代品,而是它的扩展层。你仍然可以随时调用原生 EasyX 的 API,HiEasyX 不会阻止你。事实上,HiEasyX 内部也是通过 EasyX 的 SetWorkingImageputimage 来完成最终绘制的。

快速预览:你能做出什么样的界面?

下面是 HiEasyX 内置的一些示例场景:

  • IDE 风格界面:左侧文件树 + 中间代码编辑器 + 右侧属性面板 + 底部控制台
  • 引擎编辑器:DockSpace 布局 + 3D 视口 + 蓝图材质节点 + 资源浏览器
  • 数据面板:表格 + 滑动条 + 实时曲线,适合监控和调参
  • 蓝图逻辑编辑器:节点拖拽、连线、执行、变量读写、分支控制
⚠️ 注意

HiEasyX 目前仅支持 Windows 平台,因为它底层依赖 EasyX,而 EasyX 是基于 Windows GDI 的。最低支持的 EasyX 版本为 2023-7-23,编译器需要 Visual Studio 2019+MinGW

准备好了吗?

接下来,我们会带你一步步完成环境配置,然后写出你的第一个 HiEasyX 程序。不用担心,整个过程只需要几分钟。

→ 继续阅读:环境配置