gpt4 book ai didi

c# - 在 XNA 中加载 XML 时只获取最后一个值

转载 作者:数据小太阳 更新时间:2023-10-29 02:58:39 27 4
gpt4 key购买 nike

我正在制作一个小型 XNA 游戏,为了更改我有“门户”的 map ,我已将有关这些门户的信息存储在一个 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 文件中,我将“portal”声明为变量

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

}
}

最佳答案

当然你会得到相同的值;您的属性使用静态字段作为其后备存储。静态成员在类的所有实例之间共享。

关于c# - 在 XNA 中加载 XML 时只获取最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8366529/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com