我将开始在 Qt 中编写一个基于 2D 瓦片的游戏,并阅读有关用于显示和处理大量 2D 对象的 QGraphicsScene 和 QGraphicsView 类。
我的问题是,使用 QGraphicsScene 创建一个包含大量图块的世界是否可行?我可以一次一个地添加整个世界,还是应该尝试实施一些东西来限制该区域?我读过 QGraphicsScene 可以处理“数以千计的项目”,但是 2D 平铺地图可以很容易地变得非常非常大(200x200 平铺?不是很多,但已经有 40,000 个物体,这已经很多了)。
该地图也几乎是静态的,因此可以将其绘制为一个大像素图,但这确实会阻止您使用 QGraphicsScene 中的所有花哨的东西,例如处理鼠标单击独立项目等。最重要的是,我m 将绘制不会与瓷砖网格对齐的玩家、NPC 等。是否有一些优化东西可以使用大量静态对象和一些动态对象?
使用 QGraphicsScene 和 QGraphicsView 甚至是一个好主意,还是我应该尝试在 Qt 中寻找替代方案,或者可能是一个不同的、更面向游戏的库?
提前致谢