type
status
date
slug
summary
tags
category
icon
password
最近开始写 Explosion 游戏引擎的编辑器了,UI 是使用 QT 开发,开始尝试了 QWidget,我是写过 Web 的人,根本受不了 QWidget 那种改一行编译再启动的开发流程。后来 QT 增加了 QML 的支持,渲染性能更高,而且是使用了自己的 QML 语言,类似 JavaScript + HTML,其实它是可以热重载的。
网上有不少 QML 热重载的参考资料,但是网上的资料其实都没提到 Singleton QML 的支持,而 Singleton QML 对主题的支持是很重要的,我自己手撸了一个热重载引擎,支持所有种类的 QML 文件热重载,另外资源加载也能很好的支持,在热重载模式下直接使用文件协议访问源文件,在非热重载模式下则使用 qrc 协议去访问自动打包的资源。
我自己已经用了有两个月时间了,极大提升了开发效率,跟写 Web 感觉差不多,直接上效果,看视频:
因为是直接在引擎里面写的,我没有单独再整出来搞个项目,感兴趣的话可以直接参考仓库里的以下文件自己搞一个类似的:
想直接试试的话可以直接下载 Explosion 项目按照 README.md 编译,然后加下面参数启动 Editor.exe 即可:
- 作者:Kindem
- 链接:https://www.flyandnotdown.com/post/20c8fb78-2f78-8080-bd9c-defdb752e43b
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。