2012-12-13 48 views
1

我使用RenderTarget2D繪製地圖之前呈現它到屏幕,因爲它很少變化,地圖本身是由很多很小的瓷磚組成。因此,我不是每幀都將所有圖塊繪製到緩衝區,而是將它們繪製到RenderTarget2D,然後將其繪製到緩衝區。動態地調整大小的紋理

我的問題是關於RenderTarget2D「紋理」。如果玩家要調整窗口的大小,至少要讓玩家稍微玩一下,那麼修改RenderTarget2D對象的維度的正確方法是什麼?

目前,我只是重新創建對象的任何時候窗口的大小可能是好的,但我想我應該要求安全我不會錯過更簡單的東西。

texMap = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height); 
+0

請注意,我並不真正瞭解自己在做什麼,所以應該提及的是我目前的方法是一個相當糟糕的方法,因爲它會導致內存泄漏。也許我需要在重新創建之前手動取消分配RenderTarget2D? – Mythics

回答

3

在創建渲染目標後,無法調整渲染目標的大小。在現有渲染目標上調用Dispose()(如果存在),然後創建一個新目標。