C#和XNA中的游戏配置
本文关键字:游戏 配置 XNA | 更新日期: 2023-09-27 18:21:09
读写游戏配置的最简单方法是什么:是显示fps还是播放声音等。
也许xna中有一些类可以用来做这件事?
我真的不想在XNA游戏中使用默认的C#XML。
我想提出一个简单得多的答案。我认为这些配置更改只是为了在开发过程中进行测试,对吗?那么为什么不简单地用你的设置来创建一个静态类呢:
public static class Debugging
{
public static bool ShowFPS = true;
public static bool PlaySound = false;
}
这样,您就不必编写任何代码来从磁盘读取值。你所要做的就是做一些类似if (Debugging.ShowFPS)
的事情。除了设置静态字段(Debugging.ShowFPS = false;
)之外,您也不必编写任何代码来在运行时更改值。
想想看,如果你把你的值存储在一个XML文件中,你的工作流程将是:
- 打开文件
- 更改值
- 按F5键使用更改后的值运行游戏
工作流程完全相同,还有一个额外的好处,即您不必编写任何代码来处理读写操作。它在所有受支持的平台上也完全不做任何更改。如果你想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
}
有时,最好的答案是最简单的;-)
由于您已经提到您可能想要端口到xbox,我建议使用名为EasyStorage的库。这是很多人在做简单的阅读/写作时使用的。
它允许玩家选择他们的存储设备(如果存在不止一个),以及玩家在尝试保存之前删除存储设备等。它会给你一个保存/加载的流,所以你的大多数实际保存/加载代码都是相同的。