我正在我的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文件中,分数值是“得分”的初始值
答案 0 :(得分:4)
您正在尝试访问SaveGameData
这就是类型。您必须更改saveGameData
或将字段设为静态。