我正在尝试为我的游戏中的地图创建一个简单的类。地图是由“平铺”结构组成的二维向量。我正在尝试找出按行输入/输出这些图块的最佳方法。
例如,我曾经使用基于 .txt 的加载格式。.txt 文件如下所示:
1 0 2 0 0 0 2 4 5 6 3
2 4 5 0 0 0 2 0 0 3 4
0 3 5 2 5 3 0 5 5 3 4
0 2 0 5 0 6 0 5 7 8 4
然后我会逐行查找每个图块的 ID 整数。1 代表草,0 代表水,依此类推。当解析器到达一行的末尾时,它会跳到下一行整数。
现在我试图通过 fwrite 和 fread 使用二进制文件和结构而不是整数来做到这一点。我该怎么做呢?我所看到的只是如何将结构数组存储在二进制文件中,而不是如何存储多维结构数组。有任何想法吗?
编辑: 是的,我可以只将 2D 矢量存储在文件中,但这不允许我进行我需要的无缝地图加载。我有大型地图文件,因此一次加载 100k 瓷砖会占用 CPU。