ArgumentNullException未处理有什么问题?
问题描述:
我写了一个类加载一个XML文件,但我总是收到此错误信息:ArgumentNullException未处理有什么问题?
ArgumentNullException了未处理 这种方法不适合此参数接受空。 参数名:质地
我得到的batch.Draw()的错误信息:
public void Draw(SpriteBatch batch)
{
batch.Draw(
texture,
position,
null,
Color.White,
rotation,
Vector2.Zero,
scale,
SpriteEffects.None,
0f);
}
有什么不对Sprite类? 我上传了我的项目在这里:http://depositfiles.com/files/kj4an4ef7
答
的问题是,像错误说,在Sprite
绘图代码变量texture
为空。
问题的原因是:你叫Load()
方法来加载XML文件中的精灵列表中,但不会重建Sprite
类的Texture
财产。因此,要解决您的错误,对于每个精灵,您也应该调用Load()
。
这意味着,在Game1
类的LoadContent()
法,sprites = Content.Load<List<Sprite>>("Levelinf");
线后,做这样的事情:
foreach(Sprite sprite in sprites) {
sprite.Load(Content);
}
现在,每个精灵都会有它的纹理加载。
PS:这更像是一个C#/ XNA问题,而不是一个XML :)
谢谢!你救了我的一天! – 2012-07-07 16:47:53
你应该将他标记为接受:) – 2012-07-09 16:24:32