C#和XNA中的游戏配置

本文关键字:游戏 配置 XNA | 更新日期: 2023-09-27 18:21:09

读写游戏配置的最简单方法是什么:是显示fps还是播放声音等。

也许xna中有一些类可以用来做这件事?

我真的不想在XNA游戏中使用默认的C#XML。

C#和XNA中的游戏配置

我想提出一个简单得多的答案。我认为这些配置更改只是为了在开发过程中进行测试,对吗?那么为什么不简单地用你的设置来创建一个静态类呢:

public static class Debugging
{
  public static bool ShowFPS = true;
  public static bool PlaySound = false;
}

这样,您就不必编写任何代码来从磁盘读取值。你所要做的就是做一些类似if (Debugging.ShowFPS)的事情。除了设置静态字段(Debugging.ShowFPS = false;)之外,您也不必编写任何代码来在运行时更改值。

想想看,如果你把你的值存储在一个XML文件中,你的工作流程将是:

  1. 打开文件
  2. 更改值
  3. 按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的库。这是很多人在做简单的阅读/写作时使用的。

它允许玩家选择他们的存储设备(如果存在不止一个),以及玩家在尝试保存之前删除存储设备等。它会给你一个保存/加载的流,所以你的大多数实际保存/加载代码都是相同的。