0

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=を「文字列名」などの別の変数に設定できると思いました。しかし、次のエラーメッセージが表示されます

フィールド初期化子は、非静的フィールド、メソッド、またはプロパティを参照できません

これらの値を動的に変更する方法はありますか?それとも私はそれを間違った方法で行っていますか?

編集

提供された情報が不足していることをお詫び申し上げます。

私は2つの変数を宣言していました

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

次に、PlayerName=nameScore=scoreを設定しようとしましたが、上記のエラーが発生していました。

Wimmelのアドバイスを受けて、フィールドを静的に変更しました。これにより、エラーが解消されます。

ただし、Updateメソッドで、スコア値を更新すると...スコアの値も更新されません。出力先の.txtファイルでは、スコア値は「スコア」の初期値です。

4

1 に答える 1

4

SaveGameDataあなたはただのタイプであるアクセスしようとしています。フィールドを変更saveGameDataまたは静的にする必要があります。

于 2012-11-25T19:59:22.423 に答える