2011-04-03 55 views
0

我知道我必须绘制draw()中的所有东西,并且它不断循环。XNA初学者关于绘制方法的问题

但我不想一次又一次地绘制纹理,例如我想创建一个纹理,绘制纹理(而不是spritebatch)。我只会在draw()中绘制该纹理。

可能吗? 我能用什么?

回答

2

不再绘制它是一个性能优化。你只应该这样做,如果你真的需要到。

如果您确实需要这样做,请创建一个渲染目标,将您的场景绘制到渲染目标,然后将渲染目标绘制到每个画面(使用SpriteBatch使这变得很容易)而不是场景。

看看this question关于使用渲染目标缓存绘图。

4

你必须反复绘制,总之,如果你不会显示。一个聪明人曾经在Windows开发书中写过一篇文章:

不要问为什么你的windows上的文本必须不断绘制,请问为什么它从来没有用过DOS/Unix命令行。

如果有东西放置在您正在绘制的区域上,并且您不重绘它,它只是不会在那里。你需要继续绘制它以便在屏幕上持续显示。它做得非常快,不会伤害任何东西(特别是如果你想在背景方面)