更改结构中的值?

时间:2012-11-25 19:55:09

标签: c# struct xna

我正在我的XNA C#Windows游戏中保存游戏数据而且我遇到了一个问题(由于我缺乏知识)。

我在我的公共类Game1之外创建了一个结构,如下所示

public struct SaveGameData
    {
        public string PlayerName;
        public int Score;
    }

然后在main方法(公共类Game1)

SaveGameData saveGameData = new SaveGameData()
        {
            PlayerName = "Jimmy",
            Score = 100,
        };

我无法在我的代码中的其他位置访问PlayerName,因此我认为我可以将PlayerName =设置为另一个变量,例如“string name”。 但是我收到以下错误消息

  

字段初始值设定项不能引用非静态字段,方法或属性

有没有办法动态更改这些值?或者我是以错误的方式去做的?

修改

很抱歉缺乏提供的信息。

我宣布了两个变量

public String name;
public int score; //small s

然后我试图设置 PlayerName = name Score = score ,但我收到了上述错误。

通过采纳Wimmel的建议,我将字段更改为静态,即可消除错误。

但是,在我的Update方法中,当我更新分数值时......分数值也没有更新。在我输出的.txt文件中,分数值是“得分”的初始值

1 个答案:

答案 0 :(得分:4)

您正在尝试访问SaveGameData这就是类型。您必须更改saveGameData或将字段设为静态。