ArgumentNullException未处理有什么问题?

时间:2012-07-07 10:54:50

标签: c# xml xna xml-serialization

我编写了一个加载XML文件的类,但我总是收到此错误信息:

ArgumentNullException未处理 此方法不接受此参数的null。 参数名称:texture

我在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

1 个答案:

答案 0 :(得分:0)

问题在于,与错误一样,texture绘图代码中的变量Sprite为空。

问题的原因是:您调用Load()方法从XML文件加载sprite列表,但这不会重建Texture的{​​{1}}属性类。因此,要修复错误,对于每个精灵,您也应该调用Sprite

这意味着,在Load()类的LoadContent()方法中,在Game1行之后,执行以下操作:

sprites = Content.Load<List<Sprite>>("Levelinf");

现在,每个精灵都会加载它的纹理。

PS:这更像是C#/ XNA问题而不是XML问题:)