CSS   发布时间:2022-04-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用QGraphicsScene和QGraphicsView在Qt中开始使用基于Tile的游戏大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我将在Qt中开始编写基于2D平铺的游戏,并阅读有关用于显示和处理大量2D对象的QGraphicsScene和QGraphicsView类.

我的问题是,使用QGraphicsScene创建一个包含大量图块的世界是否可行?我可以一瓦一瓦地添加整个世界,还是应该尝试实施一些限制区域的东西?我已经读过QGraphicsScene可以处理“成千上万的物品”但是2D瓷砖地图很容易变得非常非常大(200×200的瓷砖?不是那么多,但已经有40,000个物品了很多).

地图也将非常静态,因此可以将其绘制为一个大的像素图,但这实际上可以防止您使用QGraphicsScene中的所有花哨的东西,例如处理鼠标点击独立项目等.最重要的是我我将绘制玩家,NPC等不会与平铺网格对齐.是否有一些优化的东西可以使用大量静态对象和一些动态对象?

使用QGraphicsScene和QGraphicsView甚至是一个好主意,还是我应该尝试在Qt中寻找替代方案,或者可能是一个不同的,更加面向游戏的库?

提前致谢

解决方法

你应该使用QGraphicsView.

Qt文档中的40,000 Chips是您仔细检查的最佳示例.它处理大量元素的复杂性,以多种尺度绘制它们以及更多.

玩这个例子你会发现,如果你缩小所有芯片实际上构成一张大照片,你可以选择,并在任何视图中拖放多个芯片,或者你可以放大到足以看到一些文字个别芯片.理解每个部分需要时间,但这是一个非常彻底的例子.

chips.cpp源代码中,它显示了如何通过使用基于样式选项中存储的转换的“LevelOfDetail”或lod变量switch语句来快速运行.

Qt Graphics View已经过优化,可以完成您在问题中谈到的很多内容,但需要一段时间才能理解如何处理它.

如果您仍然遇到要使用的地图大小的问题,我会将磁贴布局存储在硬盘驱动器上并在需要时加载您需要的那些,并删除不需要的场景.必要.

大佬总结

以上是大佬教程为你收集整理的使用QGraphicsScene和QGraphicsView在Qt中开始使用基于Tile的游戏全部内容,希望文章能够帮你解决使用QGraphicsScene和QGraphicsView在Qt中开始使用基于Tile的游戏所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。