Ссылка на объект не установлена ​​для экземпляра объекта # 100 - PullRequest
0 голосов
/ 12 октября 2011

Я знаю, что люди спрашивали об этом раньше, но может показаться, что их решение не работает для меня, или я делаю что-то не так.

public class Sprite
{
    private Game m_game;
    private SpriteBatch m_spriteBatch;
    private string m_filename;
    private Texture2D m_texture;

    public Sprite(Game game, SpriteBatch spriteBatch, GraphicsDevice graphicsDevice)
    {
        m_game = game;
        m_spriteBatch = spriteBatch;
        m_texture = new Texture2D(graphicsDevice, graphicsDevice.Viewport.Width, graphicsDevice.Viewport.Height);
    }

    public void LoadSprite(string filename)
    {
        m_texture = m_game.Content.Load<Texture2D>(filename);
    }
}

Ошибка выдается на LoadSprite, когда я передаю"дерево" в качестве имени файла.m_texture не является нулевым, потому что (пытался) инициализировать его в конструкторе.Тот же самый вызов Content.Load используется в основном цикле, но я хочу переместить его в класс Sprite.

treeTexture = Content.Load<Texture2D>("tree");

Это прекрасно работает в основном цикле, поэтому он показывает, что файл "дерева"существует.

Кто-нибудь может увидеть, что я делаю не так?

1 Ответ

0 голосов
/ 12 октября 2011

m_game или m_game. Содержание, вероятно, равно нулю.

...