在我的游戏中,我需要绘制一个由正方形大小制成的圆圈(圆圈由正方形组成)。我可以在每帧中以锯齿状圆形的形式绘制单色方形纹理,但它消耗了大量资源。我想做的是在内存中的某个地方画一次,然后保存以画出每一帧。
我可以简单地自己绘制所说的圆圈并将其用作准备好的纹理,但我的圆圈并不总是一样的。它在整个游戏中有不同的大小(并且它不是一半的时间圈,但是我已经知道要在哪里绘制的算法),所以它必须以编程方式绘制。
答案 0 :(得分:3)
首先,将圆圈渲染为自定义RenderTarget2D
。您可以像这样设置自定义渲染目标:
GraphicsDevice.SetRenderTarget(renderTarget);
将圆圈渲染到渲染目标后,将其转换为Texture2D
,如下所示:
texture = (Texture2D)renderTarget;
了解详情:http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series3/Render_to_texture.php