1

基本的に、セーブ機能をゲームに実装しようとしています。メニューで保存をクリックすると、ゲームは .txt ファイルに書き込みます。MenuManager クラスから Game1.cs 内の関数を呼び出したい

これは私のMenuManager.csのコードです

                case Menu.ButtonEvents.Save:
                    activeMenu.ButtonEvent = Menu.ButtonEvents.None;
                    game1.Save();
                    Show("Save Menu");

3 行目は、Game1.cs で関数を呼び出したい場所です。

Game1.cs には保存機能があります

    public void Save()
    {
        // Example #1: Write an array of strings to a file. 
        // Create a string array that consists of three lines. 
        string[] lines = { levelIndex.ToString(), player.checkpointPos.X.ToString(), player.checkpointPos.Y.ToString() };
        System.IO.File.WriteAllLines("WriteText.txt", lines);
    }

私にとっての問題は、Game1.cs にすべての変数があるのに、MenuManager システム内で [保存] ボタンが押されていることです。どんな助けでも大歓迎です。

4

1 に答える 1

0

game1変数への参照をMenuManagerクラスに渡す必要があります。

次のようなことを試してください:

メニューマネージャー

public Game1 Game
{
    get { return this._game; }
    set { this._game = value; }
}
private Game1 _game = null;

Game1.cs

this.MenuManager.Game = this;

あなたの機能では:

case Menu.ButtonEvents.Save:
activeMenu.ButtonEvent = Menu.ButtonEvents.None;
this.Game.Save();
Show("Save Menu");
于 2013-03-27T16:04:20.573 に答える