2012-07-07 45 views
0

我寫了一個類加載一個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

回答

0

的問題是,像錯誤說,在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 :)

+0

謝謝!你救了我的一天! – 2012-07-07 16:47:53

+0

你應該將他標記爲接受:) – 2012-07-09 16:24:32

相關問題