2014-07-18 55 views
0

在我正在制作的这个游戏中,一切正常,但现在我开始在我的一些代码中出现NullReferenceException错误。XNA空引用异常

这里我定义了一个Vector2和一个Texture2D:

Vector2 startButtonPosition; 
Texture2D startButton; 

然后在初始化()方法:

startButtonPosition = new Vector2((graphics.GraphicsDevice.Viewport.Width - startButton.Width)/2, 150); 

当我运行此,我上startButtonPosition初始化中的NullReferenceException错误说对象引用没有被设置为对象的一个​​实例。然而它是。

+0

是'graphics'和'startButton'初始化? – Cyral

+0

可能的重复[什么是NullReferenceException,我该如何解决它?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) –

回答

0

或者graphicsstartButton,或者它们正在使用的其中一个属性设置为null。

您可以将鼠标悬停在变量的时候抛出一个异常检查这个(点击休息

记住,只是因为你声明startButton为变量,并不意味着它被设置为一个值。你需要初始化它。 (例如:startButton = Content.Load<Texture2D...

0

您提供的代码试图使用'startButton'初始化'startButtonPosition'。问题是,你永远不会初始化'startButton',因此它是'null'。

@皮埃尔 - 吕克Pineault是正确的建议What is a NullReferenceException and how do I fix it?

这里的初始化“startButton”的链接。 Texture2D Constructor

我没有使用过的Texture2D,但我猜想它会是这个样子:

Texture2D startButton = new Texture2D(graphics.GraphicsDevice, width, height);