0

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

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

谢谢,山姆。

4

1 回答 1

0

没关系 - 我解决了。

对于任何也在寻找这个的人,您基本上可以使用 spriteBatch 在“RenderTarget2D”上绘制,就像在屏幕上一样。

(有用的文章)

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

很抱歉解释得很差——我第一次尝试教程。

于 2012-10-29T00:13:18.140 回答