Serialization XNA-WP7-TiledLib-序列化和逻辑删除

Serialization XNA-WP7-TiledLib-序列化和逻辑删除,serialization,windows-phone-7,xna,tombstoning,Serialization,Windows Phone 7,Xna,Tombstoning,我目前正在使用适用于WindowsPhone7的XNA game Studio 4.0框架编写一个2D游戏。我已经到了这样一个阶段:如果用户希望保存/加载游戏,或者如果他们在以后继续游戏,我将解决用石头砸死游戏的问题 我目前正在使用该库渲染地图等,并将该示例作为我的项目的基础(例如正确墓碑绘制的事件都已就绪)。TiledLib库中的Map对象有一个多维数组([,]),用于在每个TileLayer中存储贴图的tile。我的地图只有一个平铺层,只有一个纹理2d,根据平铺显示的内容具有不同的矩形源位置

我目前正在使用适用于WindowsPhone7的XNA game Studio 4.0框架编写一个2D游戏。我已经到了这样一个阶段:如果用户希望保存/加载游戏,或者如果他们在以后继续游戏,我将解决用石头砸死游戏的问题

我目前正在使用该库渲染地图等,并将该示例作为我的项目的基础(例如正确墓碑绘制的事件都已就绪)。TiledLib库中的
Map
对象有一个多维数组(
[,]
),用于在每个
TileLayer
中存储贴图的tile。我的地图只有一个
平铺层
,只有一个
纹理2d
,根据平铺显示的内容具有不同的
矩形
源位置。重要的是,我要跟踪每个磁贴的所有适当的源矩形,以便可以按照玩家离开的方式恢复已编辑的地图

我在尝试找出实现游戏屏幕墓碑的最佳方法(或任何方法)时遇到了很多麻烦。我在序列化方面没有太多经验,这是我第一次尝试为WindowsPhone7应用程序创建墓碑。我知道非锯齿数组不能使用普通的XmlSerializer进行序列化,有没有解决这个问题的方法?自定义序列化程序是一个好方法吗?赞成/反对?有没有其他人有过TileLib和序列化游戏屏幕的经验?还是一张有X,Y坐标的2D地图?有多少数据是因为太多的数据无法序列化以进行逻辑删除


提前感谢您的回答和建议。

我建议您使用
BinaryReader
BinaryWriter
编写自己的序列化例程,因为您可以序列化完全任意的数据,完全控制过程,并且比自动XML序列化速度快得多


当然,缺点是必须使读写例程彼此同步,并与序列化的类保持同步。此外,如果代码发生更改(添加或删除要序列化的数据),您还需要一种机制来处理序列化格式中的更改。

谢谢您的建议。我开始扩展二进制读写器来支持我的类型。我认为这是一条比更改代码库以支持自动序列化程序更好的途径。再次感谢。