用于2D/3D游戏开发的Qt库

Qua*_*key 7 c++ qt

作为一个爱好,我一直在努力改造旧的视频游戏,我想尽可能避免重新发明轮子.游戏基于GUI,但GUI需要在外观方面进行自定义,并且还需要在几个游戏屏幕上使用3D OpenGL渲染.

为了给你一个想法,这里是最初原型的截图:

在此输入图像描述

使用了大量动画,3D也是如此,但GUI小部件的行为与标准桌面应用程序中的大致相同.

到目前为止,我一直在使用自己的GUI库(它不健壮或完整,我遇到了一些问题).

考虑到它的声誉和令人印象深刻的功能,以及Qt网站上的一些很好的截图,我一直在考虑迁移到Qt.但我之前从未使用过Qt,所以我真的不知道它的功能是什么,或者需要多少时间来学习它.(注意我使用过FLTK).

我的问题是:在这种情况下使用Qt是否可行/可行?

更新:在Qt中模拟一些游戏画面后,我决定不使用它.虽然它支持我开箱即用的许多功能(特别是通过样式表),但我需要支持基于位图的自定义预渲染字体(我无法转换/替换它们).我不能将QFont子类化,或者在未来的Qt版本中重新实现它.也就是说,Qt(它的易用性和良好的文档)给我留下了非常深刻的印象.我将为我自己的引擎借用它的一些功能.感谢所有提供输入的人.

Eli*_*ten 4

根据屏幕截图很难了解游戏需要执行的所有操作;不过,我会在这里回应其他发帖者的观点,并提供一些途径供您查看。

一是您可能想考虑 QtQuick 而不是 GraphicsView 框架,但这实际上取决于您需要做什么。我只是想把它作为替代方案扔在那里,这样你就不会错过它。本教程使用 QtQuick 构建一个看起来非常漂亮的连线四类游戏。这可能比您想要的更简单,但话又说回来,也许不是,这取决于您需要做什么。

其次,在为所有按钮编写自定义绘制事件之前,我会考虑使用Qt 样式表并使用类似 CSS 的语法来设计您的小部件。这将允许您以非常灵活的方式非常快速地更改 GUI 的外观和感觉。根据您的屏幕截图,我认为您可以从样式表中获得您想要的内容,这比子类化和滚动您自己的设置要快得多。但再一次,仅凭一张屏幕截图很难知道。下面是仅使用 Qt 样式表实现的深色和橙色 GUI 的示例。border-radiusQPushButton样式表属性将为您提供圆形按钮(参考