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

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

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

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

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

任何帮助将不胜感激。

【问题讨论】:

    标签: c++ 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。

      【讨论】:

      【解决方案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

          【讨论】:

          • 我喜欢自己做事,但我快速浏览了一下。而且我相信我走在正确的轨道上!谢谢。
          猜你喜欢
          • 1970-01-01
          • 2019-04-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多