等距游戏数据结构和渲染

时间:2012-01-15 11:57:11

标签: java data-structures map isometric

我正在开始开发一个2d等距(平铺,roguelike)游戏,我正在集思广益,我将用于存储运行时数据,如瓷砖和实体,但我不想使用2d数组(世界将是巨大的)。在这种情况下我将如何处理渲染?

1 个答案:

答案 0 :(得分:1)

虽然您可能会在https://gamedev.stackexchange.com/上获得更多成功,但我会尝试提供一些想法:

您应该创建一个Tile类,其中可能包含该磁贴上的实体集合。此外,实体可能会对其所在的图块进行引用。

对于地图表示,它取决于地图的表示方式。如果你有一个固定大小的地图你可能会使用一个二维数组(该数组只包含瓦片的链接,如果当前不需要,可能为null),否则你可能会使用一个索引将是瓦片位置的地图。然后在地图中查询您需要显示的图块。

此外,您可能希望使用一些缓存并加载围绕显示区域的几个图块。当磁贴位于缓存区域之外并且您需要内存时,它们可能会从地图中删除。