Je sais que des personnes ont déjà posé cette question, mais il semblerait que leur solution ne fonctionne pas pour moi ou que je fasse quelque chose de mal.Référence d'objet non définie sur une instance d'un objet # 100
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);
}
}
L'erreur est générée à LoadSprite lorsque je transmets "tree" comme nom de fichier. m_texture n'est pas nul car (essayé de) l'initialiser dans le constructeur. Le même appel à Content.Load est utilisé dans la boucle principale, mais je souhaite le déplacer dans la classe Sprite. Cela fonctionne très bien dans la boucle principale, ce qui montre que le fichier "tree" existe.
Quelqu'un peut-il voir ce que je fais mal? M_game ou m_game.Content est probablement nul.
Est-ce que m_game ou m_game.Content est nul? – Joey
Eh bien, votre IDE devrait facilement vous fournir quel objet est NULL. Nous ne savons pas ... – RvdK
duplication possible de [Qu'est-ce qu'une exception NullReferenceException dans .NET?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net) –