2011-06-22 84 views
1

我試圖讓Windows Phone 7 XNA遊戲在模擬器中運行,但它只是在調用Game.Initialize函數後退出。它提供了唯一的輸出是:Windows Phone 7 XNA遊戲在加載時退出,沒有錯誤信息

型 的 'System.NotSupportedException' 的第一次機會異常 發生在 Microsoft.Xna.Framework.Graphics.dll 'taskhost.exe'(管理):加載 'Microsoft.Xna.Framework.GamerServices.dll' 型 'System.Threading.ThreadAbortException' 的 第一次機會異常出現在 Microsoft.Xna.Framework.dll

不知道爲什麼,在SA我的程序在運行Windows桌面時運行良好。

在進一步調查確定我發現,因爲我initailizing spritebatch在Game.Initialize發生錯誤:

 base.Initialize(); 
     if (spriteBatch == null) 
     { 
      spriteBatch = new SpriteBatch(GraphicsDevice); 
     } 

如果我刪除spriteBach =新...它運行良好,但是當我初始化更新/繪製功能,遊戲將只是退出...

+0

我不確定我的理解。在更新或繪製中創建spritebatch時,遊戲會優雅地退出?或者它在等方面拋出異常? – Vectovox

+0

更新/繪製調用執行完成後會拋出異常,然後在我的帖子中引用異常,然後遊戲剛剛退出。沒有錯誤或警告,我不能'捕捉'異常,因爲它發生在現場...... – tweetypi

回答

0

好的,我發現問題是什麼。我基本上是在使用Windows Phone 7的觸摸API不喜歡的紋理包裝的時候,試圖畫出2個紋理的非力量。我不知道爲什麼我沒有得到這樣的異常(上次我做了這樣的事情,我實際上得到了異常拋出)。

我應該在我的問題中更加清楚,當我沒有初始化spritebatch的時候,我也在懷疑繪製調用。

無論如何這是問題所在。

2

不能使用GraphicsDevice(如,例如,通過具有SpriteBatch創建各種圖形設備資源它需要),直到LoadContent被調用,因爲圖形設備尚未準備就緒。

Game.GraphicsDevice on MSDN

直到LoadContent叫不要訪問此屬性。

+0

這也是我最初的懷疑(即使它在Initailize之前工作過)。當我將它移動到LoadContent()時,它仍然不起作用,當我將它移動到*之後* loadcontent函數完成執行時,仍然無法使用完全相同的錯誤。 – tweetypi

相關問題