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错误,说对象引用没有设置为对象的实例。
graphics
或startButton
,或您正在使用的其中一个属性被设置为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);