XNA“Texture2D”合并

时间:2012-10-28 22:32:07

标签: optimization xna texture2d

如何将多个Texture2D连接到一个大的Texture2D中?我试图通过将地图分成块来优化等距瓷砖游戏。

我试过谷歌搜索,发现有关“RenderTarget2D”的文章,但我不确定如何实现它。

谢谢, 萨姆。

1 个答案:

答案 0 :(得分:0)

没关系 - 我把它解决了。

对于那些也在寻找这个的人来说,你基本上就像使用spriteBatch一样在屏幕上绘制“RenderTarget2D”。

(helpful article)

RenderTarget2D render;    //declare target

render = new RenderTarget2D(GraphicsDevice, (int)(tileSize.X * numberOfTiles.X), (int)(tileSize.Y * numberOfTiles.Y), 0, SurfaceFormat.Color); //assign target, where tileSize is the size of a tile and numberOfTiles is the number of tiles you are rendering

GraphicsDevice.SetRenderTarget(0, render); //Target the render instead of the backbuffer

batch.Begin();
//draw each tile
batch.End();

GraphicsDevice.SetRenderTarget(0, null); //target the backbuffer again

Texture2D myTexture = render.GetTexture(); //store texture in Texture2D variable

对于相当糟糕的解释感到抱歉 - 我第一次尝试教程。