XNA空引用异常

本文关键字:异常 引用 XNA | 更新日期: 2023-09-27 18:13:22

我正在制作的这款游戏一切都很好,但现在我开始在我的一些代码中获得NullReferenceException错误。

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

Vector2 startButtonPosition;
Texture2D startButton;

然后在initialize()方法中:

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

当我运行这个时,我在startButtonPosition初始化上得到NullReferenceException错误,说对象引用没有设置为对象的实例。

XNA空引用异常

graphicsstartButton,或您正在使用的其中一个属性被设置为null。

当抛出异常时,您可以通过将鼠标悬停在变量上方来检查这一点(单击break)

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

您提供的代码正在尝试使用'startButton'初始化'startButtonPosition'。问题是,你从来没有初始化'startButton',因此它是'null'。

@Pierre-Luc Pineault建议什么是NullReferenceException以及如何修复它是正确的?

这是一个初始化'startButton'的链接。Texture2D构造函数

我没有使用Texture2D,但我假设它看起来像这样:

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