我创造了一个弹跳球游戏,我设置了碰撞,以便我的球反弹物体。我想这样,在球从对象上反弹后,对象被删除。在查找了如何执行此操作之后,我尝试将我的Box(对象)类设置为null(应该删除该对象)。
出于某种原因,但是在球击中并尝试将框设置为null
之后,我在Game1.cs中的draw方法中得到以下错误:
NullReferenceException未处理。对象引用未设置为 对象的实例。
将Box设置为null
:
if (hastouched == 3)
{
Box = null;
}
我在这段代码中的Game1.cs中的主绘制函数中收到错误:
Box.Draw(spriteBatch);
这是否有人知道为什么会发生这种情况或者您希望看到更多我的代码?如果是这样,哪些部分? 感谢
答案 0 :(得分:0)
正如评论所说,你设置为对象并尝试绘制它,这就是你收到该错误的原因。
我认为更好的方法是让你的Box
类继承自DrawableGameComponent
,所以当你创建它的新实例时,你只需要将它添加到{{1}通过这种方式,XNA将自行处理其Game.Components
和Update
方法
如果你想删除它,你可以简单地调用Draw
(当然Box在这里是一个变量,而不是类)。