开发者

GraphicsDevice is null in my XNA Windows Game project

I have just started trying to make a simple game with XNA 3.1 to help myself learn C# and XNA. I have run into a bit of an interesting problem, however. In all of the tutorials, one is supposed to pass GraphicsDevice when instantiating a new spriteBatch object like this:

spriteBatch = new SpriteBatch(GraphicsDevice);
开发者_JAVA技巧

One might even do this:

GraphicsDevice objGraphics = new graphics.GraphicsDevice;
spriteBatch = new SpriteBatch(objGraphics);

where graphics is the GraphicsDeviceManager. However, no matter which version I try, I always get an ArgumentNullException when I try to pass the GraphicsDevice object to spriteBatch's constructor. Almost every tutorial I have found gives the first one and only one mentioned the second option. Has anyone else run into a similar error or know what could be causing this? I am working in Windows 7 x64 with Visual Studio 2008.

EDIT:

I seem to have found the problem. I was trying to execute that code in the constructor (which is where I assumed it was supposed to go). I did a bit of Googling and found the answer here. Thanks for the help.


I'm putting the answer here for completeness' sake.

The code

spriteBatch = new SpriteBatch(GraphicsDevice);

Can only be executed in the LoadContent() method of the Game class. I was putting it in the constructor at which point the GraphicsDevice object has not been defined according to one of the answers to this question.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜