Нарисовать строку для текстуры в XNA? - PullRequest
2 голосов
/ 08 декабря 2011

Довольно просто. Я хотел бы взять строку типа «Бананы», наложить на нее SpriteFont и отобразить ее на Texture2D, а не на экран, как позволяет SpriteBatch.

Могу ли я это сделать? В качестве альтернативы, я могу сделать что-то подобное с некоторой функциональностью в стиле FBO?

1 Ответ

7 голосов
/ 08 декабря 2011

Вы можете использовать класс RenderTarget2D. http://msdn.microsoft.com/en-us/library/bb198676.aspx Примерно так:

RenderTarget2D target = new RenderTarget2D(GraphicsDevice, width,height);
GraphicsDevice.SetRenderTarget(target);// Now the spriteBatch will render to the RenderTarget2D

spriteBatch.Begin();

spriteBatch.DrawString();//Do your stuff here

spriteBatch.End();

GraphicsDevice.SetRenderTarget(null);//This will set the spriteBatch to render to the screen again.

//If you are going to create the render target inside the Draw method, do this:
target.Dispose();
...