如何有效加载L​​arge TileMap

时间:2016-12-13 19:32:36

标签: lua tiles love2d

我想用尽可能大的瓷砖地图制作生存游戏。我正在使用带有lua的Love2D游戏引擎。目前我正在使用二维数组生成地图。这适用于10x10瓷砖地图。我想让它们尽可能大。至少1000x1000-100000x100000。但那个juat赢得了工作。我还想过把它分成几块,但我不知道如何。我会在其他小瓷砖地图中拆分这些块吗?或者我怎么能这样做?任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

阅读一下"空间分区"一般来说。 注意BSP /四叉树/ k-D树,它们是任何东西的构建块。

如果您的块大小相等,位于常规网格中且总体大小有限,则可以大大简化所有内容。
将块存储在由x / y轴组成的块索引名称下的文件中。这样的名称将充当chunk的id,文件系统将作为存储世界的db工作。有些块可能完全丢失,这意味着世界上没有任何东西。
当你需要在屏幕上显示部分地图时,你会检查你是否已经需要加载块。你知道你需要显示的部分的坐标,你建立块ID,检查一些缓存(lua表),如果没有块 - 尝试打开具有相同名称的文件。如果加载了文件 - 将其添加到缓存中,如果没有 - 添加空虚拟信号,表示没有任何显示。