Qt中的QGraphicsScene等对象的坐标系是怎么设置的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt中的QGraphicsScene等对象的坐标系是怎么设置的相关的知识,希望对你有一定的参考价值。

参考技术A 默认左上角就是00.剩下的就是你自己算了

使用 Qt 的 QGraphicsScene/QGraphicsView 进行 2D 游戏

【中文标题】使用 Qt 的 QGraphicsScene/QGraphicsView 进行 2D 游戏【英文标题】:Using Qt's QGraphicsScene/QGraphicsView for 2D games 【发布时间】:2010-11-15 20:04:36 【问题描述】:

你们中是否有人尝试过使用 Qt 的 QGraphicsScene/QGraphicsView 类在 C++ 中编写 2d 游戏以进行渲染和碰撞检测? 如果场景中有许多移动/动画对象,它们是否表现良好?有什么注意事项吗?总的来说,您能指出任何使用 Qt 图形工具编写的游戏吗?

提前致谢。

【问题讨论】:

我还没有尝试过,但我可以提出的一个警告是,该框架不做 z 缓冲 - 所以除非你有很少的对象,否则你可能想要自己滚动。 Qt 游戏:developer.qt.nokia.com/wiki/QtBasedGames 看看 KDE Games games.kde.org。如今,其中许多(大多数?)都是基于 graphicsview 的。 【参考方案1】:

我尝试使用它们进行渲染。它们的表现不是很好,此外 Qt 本身不太适合游戏:它们是一个非常重的库,可以做很多事情。他们的事件处理不是轻量级的。

如果是简单的游戏应该没问题;该 API 非常易于使用,只需一个标志即可设置为使用 OpenGL 或软件渲染。但如果你想写一个真正的游戏,你应该选择别的东西,一些为游戏考虑的东西。

【讨论】:

【参考方案2】:

我不认为使用 qt 是一个最佳解决方案,即使没有 graphicsviewframework 像本教程那样创建一个突破性游戏:

http://www.zetcode.com/gui/qt4/breakoutgame/

无论如何,我的建议是使用另一个库,可能是 sfml 或 SDL,或者您可以尝试新的 polycode 引擎

http://www.polycode.org

看起来很有希望。

【讨论】:

以上是关于Qt中的QGraphicsScene等对象的坐标系是怎么设置的的主要内容,如果未能解决你的问题,请参考以下文章

QT:QGraphicsView QGraphicsScene QGraphicsItem理解

QT:我需要通过 QGraphicsScene 获取添加到 QGraphicsView 的图像坐标

Qt中的Qt Charts

Qt:选择的项目出现在 QGraphicsScene 的顶部

如何在 Qt 中为场景中的对象设置属性

使用 Qt 的 QGraphicsScene/QGraphicsView 进行 2D 游戏