我已经创建了一个简单的.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获得他们的价值,但当然,它会在“墙壁”上崩溃。那么,如何创建两个墙对象,分配它们的值并将它们放在一个列表(墙)中?
答案 0 :(得分:0)
您没有正确指定列表项。将您的<wall></wall>
代码更改为<Item></Item>
。
有关XNA中间XML序列化程序的更多详细信息,请参阅this article。