c++ - 用 qt(5) 绘制 Tiled map 的最佳方法是什么?

标签 c++ qt tiles

我想制作一个 2D 关卡编辑器,我可以在其中加载图像、裁剪它们,然后将它们放置在平铺 map 上。我想标记图 block 并为它们提供额外的属性,例如“有碰撞”,稍后我想导出整个 map 。

哪些 Qt 类最适合显示此平铺 map ?我想对于绘图我会使用派生的 QGraphicsview/QGraphicsscene。但是我应该如何显示瓦片 map 呢?将 Graphicsview 裁剪成(例如)128x128 部分并将每个图像表示为 QPixmap?

这就是我现在得到的,下一部分是在编辑器中间创建一个空的 map ... enter image description here

想法是选择左侧的图 block ,然后将它们拖放到中间。然后图 block 应该会卡入图 block map 网格中。但是,至于现在……我不知道如何在我的 QGraphicsview 中表示那个平铺网格。

最佳答案

Getting started with a Tile-based game in Qt using QGraphicsScene and QGraphicsView

对全 View 和迷你 View 使用相同的场景。但是在为细节级别绘制它们时使用 switch 语句。 (参见方 block 游戏示例中的 lod 变量)

http://doc.qt.io/qt-5/qtwidgets-graphicsview-chip-example.html

关于c++ - 用 qt(5) 绘制 Tiled map 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20160555/

相关文章:

c++ - 使用CMake获取包含库的包含路径列表

mysql - QtSql创建mysql数据库

通过 Leaflet 使用本 map block 的 HTML 离线 map

c++ - 需要帮助从类中调用函数

c++ 在类之外,变量声明的顺序是否保证是构造的顺序?

c++ - 捕捉 QWidget 真实可见性状态变化

c++ - 用新的小部件替换 QTabWidget 的页面

css - 无法使用 struts 2 在图 block 中添加多个 css 文件

java - Spring Roo 的用户界面

c++ - 如何确定使用哪个 C/C++ 编译器?