【发布时间】:2013-01-21 23:48:19
【问题描述】:
这是我这几天一直在解决的问题。我设法制作了一个包含 2 个类的游戏库 - 一个包含我想要更改的变量的名称和类型,另一个用于写入 XML 文件(序列化)。 这是我的序列化类:
namespace Postavke
{
public class TempMain
{
public static void Main()
{
object TestValue = new PostavkeStanice();
XmlWriterSettings XMLPostavke = new XmlWriterSettings();
XMLPostavke.Indent = true;
using (XmlWriter pisac = XmlWriter.Create("Postavke.xml", XMLPostavke))
{
IntermediateSerializer.Serialize(pisac, TestValue, null);
}
}
}
}
我要序列化的类(“PostavkeStanica”)只有一个bool 变量,所以XML 文件非常非常简单。
当我想将数据从 XML 加载到我的 XNA 4.0 程序中时,就会出现问题。我使用ContentManager,但是当我尝试使用应该由此设置其值的变量时,我收到错误
"There was an error while deserializing intermediate XML. Cannot find type Postavke.PostavkeStanice"."
在声明区域中:
ContentManager upraviteljSadrzaja;
PostavkeStanice radnaStanica1;
在 LoadContent 方法中:
radnaStanica1 = upraviteljSadrzaja.Load<PostavkeStanice>(@"Teksture/Postavke");
“PostavkeStanica”类只有一个名为“Stanje”的bool 变量,我想用它来确定某个对象是启用还是禁用,例如:
if (position == stanica1 && radnaStanica1.Stanje)
{
kontrola = false;
}
这段代码确定一个可移动的对象是否在 radnaStancia1 对象的前面(它不会改变它的位置),当条件为真时它会停止移动。 我正在尝试使用 XML 文件来设置这个变量的值,因为我希望能够在不重建整个解决方案的情况下更改该变量的值。
请指教,谢谢。
【问题讨论】: