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



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

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

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

你必须一遍又一遍地画,简而言之,如果你不画,它就不会显示出来。一位智者曾在一本windows开发书中写道

不要问为什么你的窗口上的文本必须不断地绘制,而要问为什么它从来没有在DOS/Unix命令行中使用过。

如果有东西被放置在你正在绘制的区域上,而你不重新绘制它,它就不会在那里。你需要不停地画它才能在屏幕上显示。它做得非常快,不会伤害任何东西(特别是如果你在考虑背景)

不再绘制是性能优化。只有当你真的需要时,你才应该这样做。

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

看看这个关于使用渲染目标缓存绘图的问题。

最新更新