Отрисовка экрана с использованием XNA SpriteBatch - PullRequest
1 голос
/ 15 августа 2011

У меня есть SpriteBatch, который настроен на RenderTarget2D, который на 500px больше по высоте и ширине. Однако всякий раз, когда я вызываю метод SpriteBatch.Draw, используя точку вне физической ширины / высоты экрана, он не будет рисовать объект.

Я выполняю некоторые 3D-преобразования текстуры, поэтому мне нужно нарисовать области за пределами экрана. Я попытался установить выбрано значение None, и это не имело никакого эффекта.

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 01 августа 2012

Измените 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

...