使用XNA SpriteBatch绘制屏幕

时间:2011-08-14 22:07:07

标签: xna xna-4.0

我有一个SpriteBatch设置为绘制到RenderTarget2D,其高度和宽度都要大500像素。但是,每当我使用物理屏幕宽度/高度之外的点调用SpriteBatch.Draw方法时,它都不会绘制对象。

我正在对纹理执行一些3D变换,因此我需要绘制屏幕外的区域。我已经尝试将剔除设置为None,但这没有效果。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

修改Viewport上的GraphicsDevice,然后再绘制到RenderTarget2D

GraphicsDevice.SetRenderTarget(myRenderTarget2D);
GraphicsDevice.Viewport.Width += 500; //or a more sensible calculation
GraphicsDevice.ViewPort.Height += 500;
GraphicsDevice.Clear(Color.Transparent);
//Spritebatch operations

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.graphicsdevice.viewport

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.viewport_members