在窗口游戏中保存和加载游戏状态
本文关键字:游戏 加载 状态 窗口 保存 | 更新日期: 2023-09-27 17:49:33
目前我使用XNA 4.0 Game Studio和Visual Studio 2010提供的Window Game Statement Management模板来开发游戏。关于如何保存和加载游戏状态有什么建议吗?之前我开发过一款窗口手机游戏,数据存储在IsolatedStorage中。这和Window Game有什么相似之处吗?
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForAssembly())
{
using(IsolatedStorageFileStream stream = file.OpenFile("class123.xml",FileMode.Create))
{
XmlWriterSettings setting = new XmlWriterSettings();
setting.Indent = true;
using(XmlWriter writer = XmlWriter.Create(stream,setting))
{
XmlSerializer serializer = new XmlSerializer(typeof(Student));
serializer.Serialize(stream,new Student(){Name = "AhLim"});
}
using (XmlReader reader = XmlReader.Create(stream))
{
XmlSerializer serializer = new XmlSerializer(typeof(Student));
studentA = (Student)serializer.Deserialize(reader);
}
}
}
这是我最近在视窗游戏应用程序中使用的代码。然而,当我到达反序列化部分时,它显示InvalidOperationException未处理,XML文档(0,0)上出现错误。我可以知道问题出在哪里吗?
在Windows Phone游戏中使用的代码应该能够在PC上正常运行。数据将存储在C:'Users''Documents'SavedGames
Try
serializer.Serialize(writer, new Student() { Name = "AhLim" });
代替
serializer.Serialize(stream, new Student() { Name = "AhLim" });
看起来IsolatedStorageFileStream
使用了错误的编码