XNA 4.0 SetRenderTarget结果为全紫色屏幕
本文关键字:紫色 屏幕 结果 SetRenderTarget XNA | 更新日期: 2023-09-27 18:24:23
我目前正在为我的个人项目制作一个带有XNA的2D侧滚动游戏。我现在的目标是玩着色器。但事实上,我被SetRenderTarget(RenderTarget2D)方法卡住了,我不明白为什么我一调用它,游戏就会变成全紫色屏幕。
我到处找,我仍然不明白问题出在哪里,但我认为这可能是由于我开始使用spritebatch的方式。
public void Draw(GraphicsDevice graphics, SpriteBatch spriteBatch, RenderTarget2D mainScene)
{
graphics.SetRenderTarget(mainScene);
graphics.Clear(Color.Black);
spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, _camera.GetViewMatrix(Parallax));
foreach(Sprite sprite in Sprites)
sprite.Draw(spriteBatch);
spriteBatch.End();
graphics.SetRenderTarget(null);
}
有什么想法吗?提前感谢:)
您绘制的是RenderTarget,而不是BackBuffer。在BackBuffer中不绘制任何内容时,它默认为紫色。在RenderTarget设置为null时绘制以绘制到BackBuffer,该BackBuffer指示您在屏幕上看到的内容。RenderTarget用于在屏幕外绘制内容。