我的地图保存的体面文件格式

时间:2012-03-04 00:49:07

标签: .net serialization

我正在为我正在制作的XNA游戏创建一个地图编辑器。

基本上,所有编辑器需要真正保存的是拼贴的X,拼贴的Y,拼贴的Z,称为TX的值以及与拼贴相关联的名为TY的值。这总计每个图块只有5个值(每个地图将有大约20000个图块)。我打算将文件保存为字节,但字节只能达到256,并不足以覆盖一些(最真实的)磁贴。

是否有某种保存格式可以让我轻松保存这5个(可能更晚)值并轻松读回?我在VB.net中这样做所以我很感激你提供给我的任何东西至少是.net(我对任何东西都很好.net,我可以转换,事实上,我的项目实际上都是C#.net和VB.net所以我不应该有任何问题)。

4 个答案:

答案 0 :(得分:2)

另一种选择是protobuf格式。它是纯二进制,便携,快速,并支持开箱即用的版本控制。通常看起来是一个很好的选择。

与XML相比,您可能会获得更小的文件和更快的地图加载。

.NET有一个很好的库: http://code.google.com/p/protobuf-net/

答案 1 :(得分:2)

查看http://code.google.com/p/protobuf-net/

我在我所做的事情中使用它并且非常有效。

答案 2 :(得分:1)

我用XML保存我的地图,文件可能会变大(可以通过压缩包装器克服),但不仅是人类可读/可编辑的,也可以很容易地用不同的语言编写不同的工具,因为大多数支持某种形式的XML编辑甚至是XML到对象的映射。

祝你好运!

答案 3 :(得分:0)

由于您实际上存储的是具有相同格式的“行”表,所以如何处理简单的comma-separated文件?

不像“真正的”二进制文件那样节省空间,但也不像XML那样浪费。相当容易添加新的“列”并且通常易于使用。