我想繪製一個快速加載精靈到遊戲重置但spritebatch沒有繪製時的屏幕。我在上放了一個斷點game.spritebatch.begin();當我一步一步通過任何繪製。有任何想法嗎?SpriteBatch沒有繪製到屏幕
這裏是我的復位功能
public void Reset()
{
loadingScreen = game.Content.Load<Texture2D>("Textures\\loadingScreen");
game.spriteBatch.Begin();
game.spriteBatch.Draw(loadingScreen, Vector2.Zero, null, Color.Black, 0.0f, Vector2.Zero, 0.5f, SpriteEffects.None, 0f);
game.spriteBatch.End();
cameraPosition = original_cameraPosition;
players.Clear();
furthest = 0;
enemies.Clear();
LoadEnemies();
ActivatePlayers();
}
你有沒有注意到你的加載紋理只會在Reset()調用時顯示在一幀中? – neeKo
Niko是正確的 - 您的加載時間足夠長,您的加載屏幕將保持足夠長的時間顯示,以便您真正看到它?在通過從遊戲循環中繪製替換之前?如果您在'Update'方法中調用'SupressDraw',則可以防止遊戲循環自己繪製任何東西 - 這將允許您診斷這是否發生。 –
添加game.GraphicsDevice.Present()後,它會繪製一個紫色屏幕,並持續足夠長的時間以顯示屏幕一秒鐘。另外,如果我在添加之前在spritebatch.End()之後放置了一個斷點,它不會顯示任何內容(表示它不是繪圖)。現在它顯示紫色。 – jmack20093