我知道我必须在draw()中绘制所有内容,并且它会不断循环。
但我不想一次又一次地绘制纹理,例如我想创建一个纹理,绘制一些纹理(不是spritebatch)。我只会在draw()中绘制该纹理。
有可能吗? 我可以用什么?
答案 0 :(得分:4)
你必须一次又一次地画画,简而言之,如果你不这样做就不会显示出来。一位聪明人曾在一本Windows开发书中写道
不要问为什么必须经常绘制Windows上的文本,问为什么它以前从未在DOS / Unix命令行中使用过。
如果某些东西放在您正在绘制的区域上,并且您不重绘它,它就不会在那里。你需要继续绘制它以便在屏幕上持续。它做得很快,不会伤害任何东西(特别是如果你在考虑背景方面)
答案 1 :(得分:2)
不再绘制它是性能优化。如果你真的需要,那么你应该这样做。
如果确实需要这样做,请创建渲染目标,将场景绘制到渲染目标,然后将每个帧的渲染目标绘制到屏幕上(使用SpriteBatch
使这很简单)而不是场景
使用渲染目标查看有关缓存绘图的this question。