1

今、問題は私がエラーが何を意味するのかわからないということではありませんが、神の生涯の間、これの原因である可能性があるものを理解することはできません。私は答えを探してたくさん検索しました、しかし私の苦悩への解決策は私を逃します。IVEは何度も私の障害を乗り越えようとしましたが失敗しました。今、私はあなたが悟りを望んでいるのを見ています、あなたは私の脳が安らかに休むのを手伝ってくれますか:)

ここに問題があります:Game1が実行され、Abstaktという名前の私のクラスでその処理を実行します。

class Abstrakt
{
    public ContentManager content;
    public SpriteBatch spriteBatch;
    public GraphicsDeviceManager graphics;

    MenuComponent menuComponent;
    StartGame startGame;

    public string gameState = "Menu";

    public Abstrakt(SpriteBatch spriteBatch, ContentManager content, GraphicsDeviceManager graphics)
    {
        this.spriteBatch = spriteBatch;
        this.content = content;
        this.graphics = graphics;
    }

    public Abstrakt() { }

    public virtual void Initialize()
    {
        menuComponent = new MenuComponent();
        startGame = new StartGame();

        menuComponent.Initialize();
        startGame.Initialize();
    }

    public virtual void LoadContent()
    {
        menuComponent.LoadContent();
        startGame.LoadContent();
    }
}        






class MenuComponent : Abstrakt
{
    SpriteFont spriteFont;

    public MenuComponent() { }

    public override void LoadContent()
    {
        spriteFont = content.Load<SpriteFont>("GameFont"); <--Here the problem appears
    }
}

重要でないコードを削除したので、見やすくなりました。問題は次のとおりです。オブジェクト参照がオブジェクトのインスタンスに設定されていません。

ヘルプとアドバイスをありがとう。

4

1 に答える 1

3

「content」変数は初期化しないと思います。

デフォルトのパラメーターなしコンストラクターを使用してMenuComponentをインスタンス化すると、コンテンツは割り当てられません。したがって、コンテンツはnullに等しくなります。

于 2012-04-19T20:53:23.750 に答える