New*_*ger 5 c# configuration xna
读取和编写游戏配置的最简单方法是:显示fps或播放声音等.
也许xna中有一些类可以用来做到这一点?
我真的不想在XNA游戏中使用默认的C#XML thingy.
我想提出一个更简单的答案.我假设这些配置更改仅用于开发期间的测试吗?那么为什么不简单地使用您的设置静态类:
public static class Debugging
{
public static bool ShowFPS = true;
public static bool PlaySound = false;
}
Run Code Online (Sandbox Code Playgroud)
这样,您不必编写任何用于从磁盘读取值的代码.你所要做的就是这样if (Debugging.ShowFPS).除了设置静态字段(Debugging.ShowFPS = false;)之外,您还不必编写任何代码来在运行时更改值.
考虑一下,如果将值存储在XML文件中,您的工作流程将是:
工作流程完全相同,还有一个额外的好处,即您不必编写任何代码来处理读写.它也适用于所有支持的平台上绝对没有变化.如果您想100%确定在发布之前不忘记更改设置,则可以使用具有正确生产值的简单ifdef:
public static class Debugging
{
#if DEBUG
public static bool ShowFPS = true;
public static bool PlaySound = true;
#else
public static bool ShowFPS = false;
public static bool PlaySound = false;
#endif
}
Run Code Online (Sandbox Code Playgroud)
有时,最好的答案是最简单的;-)
既然您提到您可能想要移植到 xbox,我建议使用名为EasyStorage的库。这是很多人在进行简单的阅读/写作时使用的方法。
它允许玩家选择他们的存储设备(如果存在多个存储设备),以及玩家在尝试保存之前删除存储设备等。它会给你一个用于保存/加载的流,所以大多数您的实际保存/加载代码将是相同的。