XNA初学者关于draw方法的问题

发布于 2024-10-29 14:37:21 字数 135 浏览 2 评论 0原文

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

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

是否可以? 我可以用什么?

I understand that I have to draw everything in draw(), and it's looping continuously.

But I don't want to draw texture again and again, for example I want to create a texture, draw something to texture (not spritebatch). than I will only draw that texture in draw().

Is it possible?
What can I use?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

开始看清了 2024-11-05 14:37:21

你必须一次又一次地画,总之,如果你不画,它就不会显示出来。一位智者曾经在一本Windows开发书中写道,

不要问为什么Windows上的文本必须不断地绘制,而要问为什么它从来没有出现在DOS/Unix命令行中。

如果某些东西也放置在您正在绘制的区域上,并且您不重新绘制它,那么它就不会在那里。您需要不断绘制它才能使其在屏幕上持续显示。它完成得非常快,不会伤害任何东西(特别是如果你考虑背景的话)

You have to draw again and again, as in short, if you dont it wont show. A wise man once wrote in a windows development book

Ask not why the text on your windows has to be constantly drawn, ask why it never used to be in DOS/Unix command line.

If something is placed over the area you're drawing too, and you dont redraw it, it just simply wont be there. You need to keep drawing it for it to be sustained on screen. Its done very quickly and wont hurt anything (especially if you're thinking in terms of background)

把昨日还给我 2024-11-05 14:37:21

不再绘制是一种性能优化。仅当您确实需要时才应该这样做。

如果您确实需要执行此操作,请创建一个渲染目标,将场景绘制到渲染目标,然后每帧将渲染目标绘制到屏幕(使用 SpriteBatch 可以轻松完成此操作)而不是场景。

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

Not drawing it again is a performance optimisation. You should only do that if you really need to.

If you do need to do this, create a render target, draw your scene to the render target, and then draw your render target to the screen each frame (using SpriteBatch makes this easy) instead of your scene.

Take a look at this question about caching drawing using render targets.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文