【问题标题】:Using Qt and c++ in developing a game使用 Qt 和 C++ 开发游戏
【发布时间】:2014-03-12 19:22:49
【问题描述】:

我一直在寻找几个小时来解决我的问题。 我正在尝试使用 Qt 和 c++ 开发游戏,该游戏使用六边形瓷砖,它是一款棋盘游戏。我对 Qt 很陌生,我想知道是否有办法给木板拍照并绘制出六边形的 x、y 坐标(它是一个大六边形中的 64 个六边形,一边有 5 个六边形) 以便我可以将可移动对象分配给六边形(将游戏块从一个六边形移动到另一个六边形)。

我看过 Qgraphicsscene 和 Qgrapgicsview,但是有没有更简单的方法来进行板的映射?

为我指明正确的方向会很有帮助..

【问题讨论】:

  • 通过一些基本的数学运算,您可以计算出六边形中心的真实坐标。由于您没有指定您使用的坐标系,因此我们无法为您提供帮助。我也不确定这是否真的是你的问题?
  • 在 Qt 中使用 OpenGL 怎么样?有一些额外的初始工作,但您可以使用不同的坐标系并使用不同的 3D 视图显示电路板。
  • 为您的程序生成的电路板拍照可能不是一个好的开始

标签: c++ qt qml game-engine qgraphicsview


【解决方案1】:

我建议您使用 QML(Qt 元语言或 Qt 建模语言),它是一种类似于 Java 脚本的声明性语言,用于设计程序的丰富用户用户界面:包括外观和行为方式。您可以使用矢量和光栅图像,它具有许多易于使用的功能,使您能够制作出色的动画。大多数使用 Qt 开发的 Android 应用程序都使用 QML。

【讨论】:

    【解决方案2】:

    更新:我开始对此进行演示。我让它绘制六边形,并在悬停时突出显示它们。

    https://github.com/peteristhegreat/Hexagons

    (更新结束)

    您可能需要考虑使用QGraphicsView

    http://qt-project.org/doc/qt-5.0/qtwidgets/graphicsview.html

    如果您查看六边形网格的外观,您可以很容易地将每个六边形的中心映射到 2d、x-y 坐标平面。

    如果您使用QPolygonQGraphicsPolygonItem,您可以很快上手。

    http://qt-project.org/doc/qt-5.0/qtwidgets/qgraphicspolygonitem.html#details

    查看上图,您只需要创建一个过滤器,该过滤器只允许对象落在您的 xy 网格上,其中出现六边形中心,而不是其他任何地方。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多