繁体   English   中英

在Window Game中保存和加载游戏状态

[英]Save and load game state in Window Game

目前,我正在使用XNA 4.0 Game Studio和Visual Studio 2010提供的Window Game Statement Management模板来开发游戏。 关于如何保存和加载游戏状态,有什么建议吗? 以前,我已经开发了一款窗口电话游戏,并将数据存储在IsolatedStorage中。 窗口游戏有什么相似之处吗?

         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);
                    }
                }
            }

这是我最近在Window Game Applicaiton中使用的代码。 但是,当我到达反序列化部分时,它表明InvalidOperationException未处理,并且XML文档(0,0)出错。 我可以知道问题出在哪里吗?

Windows Phone游戏中使用的代码在PC上应该可以正常工作。 数据将存储在C:\\ Users \\\\ Documents \\ SavedGames中

尝试

 serializer.Serialize(writer, new Student() { Name = "AhLim" });

代替

 serializer.Serialize(stream, new Student() { Name = "AhLim" });

看起来IsolatedStorageFileStream使用的是错误的编码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM