像QT这样的应用工具包与传统的游戏/多媒体库如SFML

我目前打算为我的下一个游戏项目使用SFML。 我需要一个实质的GUI(RPG /策略types),所以我要么实现我自己的或者尝试find一个合适的第三方库,这似乎归结为CEGUI , libRocket和GWEN 。 与此同时,我并不期望做这么多先进的graphics效果。 我的游戏将2D,主要是精灵和一些精灵animation。

我最近发现,QT应用程序可以有他们的外观风格,使他们不必看起来像普通的操作系统应用程序。 鉴于此,我开始考虑QT作为SFML的有效替代品。 我不需要实现我所需要的GUIfunction,而且我也许不会利用SFML的低级访问权限。 我能够立即想到的唯一缺点就是QT的学习曲线,并且在习惯了传统游戏库的input/更新/渲染循环之后,弄清楚如何在这样的框架中适应游戏逻辑。

什么时候像QT这样的应用程序工具包比传统的游戏或多媒体库如SFML更适合于游戏?

这里有一个关于如何使用QT的报告,他试图在他的游戏项目中使用QT。

http://www.shamusyoung.com/twentysidedtale/?p=15904

他的结论? 别。

Qt很容易学习。 我发现的唯一问题是性能,因为框架是为了方便而构建的。 这一如往常,取决于你正在做什么样的游戏。 对于你来说,这是一个RPG游戏,所以我猜测屏幕上会有很多东西,标准的绘图库可能不会被剪切,而I / O库是完美的,因为轻微的input滞后并不是致命的。 为了解决绘图问题,您可以使用OpenGL小部件,但如果您只想高效渲染大量的精灵,可能会certificate这是不必要的复杂。

然而,你可以在Qt中实现一个游戏循环,而不需要使用信号和插槽,只需要在读取input的时候调用processEvents()而不是用exec()运行一次。 这可以让你潜力只使用Qt的I / O和GUI。 然后你可以使用SFML在Qt内部进行简单高效的绘制。 这里是关于集成Qt和SFML的官方教程。

还有一些为SFFUI制作的GUI库,如SFGUI,GuiChan等。