2011-04-03 52 views
0

我知道我必須繪製draw()中的所有東西,並且它不斷循環。XNA初學者關於繪製方法的問題

但我不想一次又一次地繪製紋理,例如我想創建一個紋理,繪製紋理(而不是spritebatch)。我只會在draw()中繪製該紋理。

可能嗎? 我能用什麼?

回答

2

不再繪製它是一個性能優化。你只應該這樣做,如果你真的需要到。

如果您確實需要這樣做,請創建一個渲染目標,將您的場景繪製到渲染目標,然後將渲染目標繪製到每個畫面(使用SpriteBatch使這變得很容易)而不是場景。

看看this question關於使用渲染目標緩存繪圖。

4

你必須反覆繪製,總之,如果你不會顯示。一個聰明人曾經在Windows開發書中寫過一篇文章:

不要問爲什麼你的windows上的文本必須不斷繪製,請問爲什麼它從來沒有用過DOS/Unix命令行。

如果有東西放置在您正在繪製的區域上,並且您不重繪它,它只是不會在那裏。你需要繼續繪製它以便在屏幕上持續顯示。它做得非常快,不會傷害任何東西(特別是如果你想在背景方面)