小编Iai*_*jer的帖子

仅在XNA中加载XML时获取最后一个值

我正在制作一个小型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>
Run Code Online (Sandbox Code Playgroud)

在Game1.cs文件中,我将"门户"声明为变量

Portals[] portal;
Run Code Online (Sandbox Code Playgroud)

然后在loadContent区域中将XML文件加载到门户中.

portal = Content.Load<Portals[]>("Portals/Test");
Run Code Online (Sandbox Code Playgroud)

不幸的是,这是我的问题发生的地方,因为当我尝试使用时

portal[].position
Run Code Online (Sandbox Code Playgroud)

对于[]中的任何数字,我被赋予相同的值,这是我列表中的最后一个值.我在视觉基础上运行它时看了所有的值,它们看起来都是一样的.有什么明显的东西我在这里不见了.我是使用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 = ""; …
Run Code Online (Sandbox Code Playgroud)

c# xml xna

2
推荐指数
1
解决办法
111
查看次数

标签 统计

c# ×1

xml ×1

xna ×1