【问题标题】:Changing variable values from external files in XNA 4.0在 XNA 4.0 中从外部文件更改变量值
【发布时间】:2012-01-11 11:17:13
【问题描述】:

在 XNA 4.0 游戏中更改变量值的最简单方法是什么?

我希望能够在不重新构建游戏本身的情况下显示/隐藏一些对象(作为程序员而不是用户)。我试图用 XML 来做到这一点,但事实证明它对我的 XNA 知识水平来说是高级的。我的想法是创建一个具有简单结构的文件(name_of_variable1、value_of_variable1、name_of_variable2、value_of_variable2...)。由于我需要更改的变量数量有限(4 或 5 个 bool 变量 - 我可以将我的绘图方法保存在 if-else 语句中,然后使用这些 bool 变量控制它们的执行);这些文件将被标准化。

我想要完成的是:当我发布我的程序时,我想在它的“内容”文件夹中有一个文件,我可以在任何文本编辑器中更改它,当我启动我的程序时,它会读取该文件并设置相应地这些变量的值(只有一个文件,我会在必要时覆盖)。

最简单的方法是什么?

谢谢

【问题讨论】:

  • 我认为您最好只使用标准的 XML 内容,而不是编写自己的方式。它基本上达到了同样的目的。不同之处在于不包含名称,因此您必须按照写入的顺序读取数据。

标签: c# xna xna-4.0


【解决方案1】:

我建议使用 CSV、XML 或 INI 文件格式,具体取决于您要存储的数据类型。

CSV 非常适合包含标题的数据,并且该数据的大量记录,例如 Sprite_sheets.csv 可能包含标题 ID、路径、宽度、高度和您使用的精灵表行。

INI 非常适合单一设置变量,例如 FPS=60、FULLSCREEN=true 等。

XML 非常适合用于更大的数据结构,例如您的 MAP,其中包含 TILES、OBJECTS、SPRITES,其中包含一些其他对象等。

我通常只使用 CSV,我发现这个非常棒的 C# CSV 读取器/写入器: http://www.codeproject.com/Articles/86973/C-CSV-Reader-and-Writer

但你可以使用任何适合你的东西。

【讨论】:

  • 我设法解决了这个问题,但现在我有另一个问题(基于这个问题)。我已经在这个地址发布了关于它的问题:gamedev.stackexchange.com/questions/22636/…。有2个答案。但我一直无法让它工作,所以如果你能看看并给我你的意见,我将非常感激。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多