【发布时间】:2012-12-01 14:26:26
【问题描述】:
我使用 RenderTarget2D 将我的地图绘制到屏幕上,然后再将其渲染到屏幕上,因为它很少更改,而且地图本身由许多非常小的图块组成。因此,我不是每帧都将所有图块绘制到缓冲区,而是将它们绘制到 RenderTarget2D,然后再绘制到缓冲区。
我的问题是关于 RenderTarget2D “纹理”。如果玩家要调整窗口的大小,我希望至少能够玩一点,那么在尺寸方面修改 RenderTarget2D 对象的正确方法是什么?
目前我只是在调整窗口大小时重新创建对象,这可能很好,但我想我应该要求安全,我不会错过更简单的东西。
texMap = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
【问题讨论】:
-
请注意,我并没有真正理解我在做什么,所以应该提到我目前的方法是一个相当糟糕的方法,因为它会导致内存泄漏。也许我需要在重新创建之前手动取消分配 RenderTarget2D?
标签: c# dynamic xna texture2d rendertarget