关于绘制方法的XNA初学者问题

时间:2011-04-03 21:22:40

标签: xna draw

我知道我必须在draw()中绘制所有内容,并且它会不断循环。

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

有可能吗? 我可以用什么?

2 个答案:

答案 0 :(得分:4)

你必须一次又一次地画画,简而言之,如果你不这样做就不会显示出来。一位聪明人曾在一本Windows开发书中写道

不要问为什么必须经常绘制Windows上的文本,问为什么它以前从未在DOS / Unix命令行中使用过。

如果某些东西放在您正在绘制的区域上,并且您不重绘它,它就不会在那里。你需要继续绘制它以便在屏幕上持续。它做得很快,不会伤害任何东西(特别是如果你在考虑背景方面)

答案 1 :(得分:2)

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

如果确实需要这样做,请创建渲染目标,将场景绘制到渲染目标,然后将每个帧的渲染目标绘制到屏幕上(使用SpriteBatch使这很简单)而不是场景

使用渲染目标查看有关缓存绘图的this question

相关问题