使用 Qt 进行游戏开发:首先要看哪里?

Posted

技术标签:

【中文标题】使用 Qt 进行游戏开发:首先要看哪里?【英文标题】:Game development with Qt: where to look first? 【发布时间】:2010-02-08 19:11:20 【问题描述】:

所以,我打算用 Qt 开发一个 Pac-Man 克隆。问题是我真的不知道从哪里开始。

我快速查看文档和一些演示。我还在 qt-apps.org 上下载了一些游戏资源。而且看来用Qt开发游戏的方法有很多!

根据您的经验,我应该考虑 Qt 的哪个部分来开发 Pac-Mac 克隆?

动画框架 图形视图框架 油漆系统 Qt 声明式

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

我认为QGraphicsView 框架是最好的方法。为游戏的元素创建一个QGraphicsScene,一些QGraphicsItems。您可以免费进行碰撞检测。

大部分KDE games 都基于QGraphicsView 框架。它非常适合简单的游戏开发。

【讨论】:

谢谢。我会试试你的解决方案:)【参考方案2】:

我目前正在为跨平台游戏开发提供游戏专用 Qt Quick Components 的项目,可能感兴趣:http://v-play.net :)

【讨论】:

【参考方案3】:

您至少需要查看QGLWidget。您可以通过从 QGLWidget 派生在几分钟内启动 OpenGL 程序,它将创建窗口、上下文、处理鼠标和键盘输入等。创建一个 QTimer 以每 10-15 毫秒左右触发一次 updateGL() 并且你很高兴。我认为在某个地方有一个演示可以设置它,但我已经有一段时间没有看到它了。

如果您想将小部件嵌入到窗口中,我会查看QGraphicsView。有一个名为boxes 的演示。请注意,该演示有点难以学习,因为多个类被放入同一个文件中,并且可能需要一些时间跟踪才能确定流程在哪里。

由于您正在做一个 2d 游戏,您可能想看看在 top of OpenGL 上使用 QPainter。这使您可以轻松地绘制图元,而不是使用 OpenGL 调用来绘制它们。不过,我永远无法让它在全屏模式下停止闪烁。

【讨论】:

“嵌入寡妇” 听起来有点刺耳;) 嗯,QPainter 已经九十年代了。绝对应该使用 QGraphicsView。我正在开发大量基于 Qt 的游戏,并且移植到 QGraphicsView 使代码变得相当容易(甚至更快,因为它会自动安排重新渲染)。 - 如果你仍然需要 OpenGL 让它运行得更快,你只需要 view->setViewport(new QGLWidget);并完成。【参考方案4】:

Qt here 有一本关于游戏开发的书,有点旧,但它可能会给你一些想法。但是恕我直言,Qt 是基于小部件的,对于游戏来说有点慢,您可以考虑使用 SDL 或 OpenGL。

【讨论】:

我想我没有时间订购这本书也没有时间阅读它,我必须在这个星期五返回完整的项目;) 在我看来你有这样的任务engineering.purdue.edu/OOSD/F2008/assignment/assignment4.html。在这种情况下,请查看 kpacman.sourceforge.net 以获取提示。【参考方案5】:

我正在使用 Nvidia 的 PhysX API 使用 Qt 和 OpenGL 开发刚体模拟。如果你想看到这种方法,请查看我在 github 上的项目:http://github.com/lucassimao/Simulacao-Estereologica

【讨论】:

【参考方案6】:

嗯,一个值得关注的地方可能是 Gluon 游戏开发框架,该框架目前正在开发中。这取决于您使用 PacMan 克隆的真正目标,但 Gluon 很可能就是您所追求的:https://github.com/KDE/gluon

【讨论】:

这个答案当然与你不太相关,因为你的工作时间很短,但它很可能与其他有类似、时间限制较少的问题的人相关; )【参考方案7】:

如果其他人有兴趣学习如何使用 C++ 和 Qt 制作游戏,请查看我的 YouTube 教程系列。它通过一系列视频来解释图形视图框架,这些视频建立在我们从教程 1 开始的单个游戏之上。

C++ Qt Game Tutorial 8 - Adding Graphics

如果您还不熟悉 Qt,那么我真的很喜欢 VoidRealm 的 Qt 教程系列,也在 youtube (C++ Qt 1 - Introduction to QT programming) 上。

【讨论】:

【参考方案8】:

一个好的开始应该是:

Qt Examples And Tutorials

也许如果你需要作弊,你可能想看看这里 xpacman.tar.gz

【讨论】:

我喜欢自己做事,但我快速浏览了一下。而且我相信我走在正确的轨道上!谢谢。

以上是关于使用 Qt 进行游戏开发:首先要看哪里?的主要内容,如果未能解决你的问题,请参考以下文章

手机游戏是用啥开发的?

怎么成为STEAM的开发者上传自己的游戏

用Qt制作的Android独立游戏《吃药了》公布

夺金农场游戏开发 夺金农场系统哪里开发好

怎么压缩用python写的游戏的文件大小?或者用啥开发库?

我想做吃鸡游戏辅助工具,需要学习点啥?