1
我正在爲Windows Phone 7開發,並且在使用Guide.BeginShowMessageBox
和Guide.BeginShowKeyboardInput
時遇到了一些問題。一旦出現消息框,應用程序有時會崩潰並顯示以下錯誤:XNA似乎在顯示消息框後重置着色器
「在執行任何繪製操作之前,必須在設備上設置頂點着色器和像素着色器。」
奇怪的是,它似乎像它的崩潰,而該消息框是可見的,但我有以下檢查我的更新之前,繪製在我的遊戲類方法:
protected override void Update(GameTime gameTime) {
if (IsActive && !Guide.IsVisible) {
//Update stuff here
}
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime) {
if (IsActive && !Guide.IsVisible) {
//Draw stuff here
}
base.Draw(gameTime);
}
錯誤肯定似乎雖然我的//Draw stuff here
方法內發生。而且它似乎並不是每一次。只有在第四個消息框發生後纔會發生。
有沒有辦法在繪製之前判斷頂點着色器還是像素着色器沒有設置?我正在使用BasicEffect
對象來繪圖。
你有沒有在AppHub論壇發佈這個?我敢打賭,你可以讓Shawn Hargreaves或者XNA團隊的其他人對它進行評論。 – eodabash 2011-04-11 21:52:59