繁体   English   中英

如何创建/上传/更新 XML 文件来为游戏添加不同的关卡

[英]How to Create/Upload/Update XML files to add different levels for the game

我正在尝试编辑/更新我拥有的当前 XML 文件,以轻微编辑级别,但是在记事本++中编辑它们/在内容中更新它们时没有任何反应。

我是第一次使用 XML 级别编辑,前 2 个级别是我设法在网上找到的,但我想编辑它们/添加我自己的级别。

我应该更改代码中的某些内容,还是以不同的方式更新它们?

这是在 Game1 类中加载关卡的代码

这是级别类

这是我在当前 Level1 中的代码,值代表不同的对象

我曾尝试在 notepad++ 和 VS 中编辑 XML 文件,但不确定我是否做错了什么。 正如我所提到的,我是初学者,这是我第一次这样做,这就是我来这里的原因。

提前谢谢你的帮助。

如果您需要任何其他代码,我会尽快上传。

正如我所说,我想要实现的是编辑当前文件,例如,我将有 1 个 5 的布局和 1 个 1 的布局,而不是 2x 5 数组布局

<Level>
  <layout>
    <ArrayOfInt>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
    </ArrayOfInt>
    <ArrayOfInt>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>
      <int>5</int>

查找 C# 序列化。 是一个很好的起点。 那里实际发生的事情被分成多个“任务”,每个任务负责不同的事情:

  1. Xml* 类(例如XmlSerializer

这些负责顶级序列化和反序列化。 在幕后,他们还解析、验证、解释(以及更多)XML 文件。 这是“文本”文件(如果您忽略语法及其“功能”,基本上就是 XML)和编程语言(在我们的例子中是 C#)之间的桥梁。

  1. XML

这很简单。 它只是您案例中对象的序列化表示。 一大堆数据,稍后将变成对象。

  1. C# 属性(例如XmlElementXmlArrayXmlAttribute

这是将它找到的任何 XML 数据类型或结构“绑定”到可以表示为对象的东西的魔力。

您将编写的代码是您的工作流将如何解释 XML。 您的代码中似乎缺少的是结构/类上的 Xml* 属性。 请参阅MS Learn文章并从那里开始。

郑重声明,对于简单关卡,XML 过于冗长且容易出错。 每平方一个字节的二进制文件...

很可能您添加或删除了导致数组错误填充的行。 确保计算行数以匹配原始关卡的行数,或者不小心更改了打开或关闭标签。


另一种可能性是内容构建已过时。

您没有说明 CLI 或 VS,所以我会同时提供。

命令行界面:

dotnet clean

然后像往常一样构建。

对比:

选择构建菜单并选择重建。


真正的错误消息应该在此时出现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM