【发布时间】:2011-12-03 08:33:26
【问题描述】:
我正在制作一个小型 XNA 游戏,为了更改我有“门户”的地图,我已将有关这些门户的信息存储在一个 XML 文件中。
<?xml version="1.0" encoding="utf-8"?>
<XnaContent>
<Asset Type ="Vars.Portals[]">
<Item>
<Position>319</Position>
<Destination>Map002</Destination>
</Item>
<Item>
<Position>139</Position>
<Destination>Map001</Destination>
</Item>
<Item>
<Position>319</Position>
<Destination>Map001</Destination>
</Item>
</Asset>
</XnaContent>
在 Game1.cs 文件中,我将“门户”声明为变量
Portals[] portal;
然后在 loadContent 区域将 XML 文件加载到门户中。
portal = Content.Load<Portals[]>("Portals/Test");
不幸的是,这是我出现问题的地方,因为当我尝试使用时
portal[].position
[] 中的任何数字都会给我相同的值,这是我列表中的最后一个值。我在 Visual Basics 中运行它时查看了所有值,它们似乎都是一样的。有什么明显的我在这里想念的吗。我是使用 XML 的新手。数据保存在我的 Vars 命名空间中。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Vars
{
public class Portals
{
#region Position
private static int StorePosition = 0;
public int Position
{
get { return StorePosition; }
set { StorePosition = value; }
}
#endregion
#region Destination
private static string StoreDestination = "";
public string Destination
{
get { return StoreDestination; }
set { StoreDestination = value; }
}
#endregion
}
}
【问题讨论】: