我试图在运行时更改 RenderTargets,所以我可以在运行时绘制一些元素,操纵它们,然后最终将纹理绘制到屏幕上。问题是,如果我在运行时更改 RenderTarget,屏幕会变成紫色。这是我在 Draw 中得到的代码:
RenderTarget2D tempTarget = new RenderTarget2D(GraphicsDevice, 128, 128, 1,
GraphicsDevice.DisplayMode.Format, GraphicsDevice.PresentationParameters.MultiSampleType,
GraphicsDevice.PresentationParameters.MultiSampleQuality, RenderTargetUsage.PreserveContents);
GraphicsDevice.SetRenderTarget(0, tempTarget);
GraphicsDevice.Clear(ClearOptions.Target, Color.SpringGreen, 0, 0);
GraphicsDevice.SetRenderTarget(0, null);
我如何创建 RenderTarget 似乎并不重要,如果我在运行时执行它(并且我确实需要在运行时创建内存中的纹理并使用 SpriteBatch 在它们上绘制),它会导致一个完全紫色的屏幕。我能做些什么来解决这个问题?