如何在XNA中阅读.XML文件?

时间:2014-01-06 13:32:58

标签: c# xml xna

我已经创建了一个简单的.XML文件来加载我的xna游戏中的关卡。 xml告诉游戏玩家的起始位置和两面墙的位置。

问题在于我不知道如何创建墙对象并将它们放入列表中。

XML:

<?xml version="1.0" ?>
<XnaContent>
  <Asset Type="MyDataTypes.LevelValues">
    <player1x> -5.5</player1x>
    <player1y> -4.5</player1y>
    <Walls>
      <wall>
        <startx>1</startx>
        <endx>2</endx>
      </wall>
      <wall>
        <startx>3</startx>
        <endx>4</endx>
      </wall>
    </Walls>
  </Asset>
</XnaContent>

我的等级值:

 public class LevelValues
    {
        public float player1x;
        public float player1y;
        public List<Wall> Walls {get;set;}

        public LevelValues()
        {
            Walls = new List<Wall>();
        }        
    }

Wall:

public class Wall
{
    public float startx;
    public float endx;
}

从game1.cs中的loadContent调用它:

LevelValues level;
level = Content.Load<LevelValues>(@"Level\leveltest");

当运行游戏时玩家1x和玩家1获得他们的价值,但当然,它会在“墙壁”上崩溃。那么,如何创建两个墙对象,分配它们的值并将它们放在一个列表(墙)中?

1 个答案:

答案 0 :(得分:0)

您没有正确指定列表项。将您的<wall></wall>代码更改为<Item></Item>

有关XNA中间XML序列化程序的更多详细信息,请参阅this article