Я знаю, что люди спрашивали об этом раньше, но может показаться, что их решение не работает для меня, или я делаю что-то не так.
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");
Это прекрасно работает в основном цикле, поэтому он показывает, что файл "дерева"существует.
Кто-нибудь может увидеть, что я делаю не так?