2

私のゲームでは、ゲームタイルのサイズの正方形でできた円を描く必要があります(円は正方形でできています)。フレームごとにギザギザの円の形でモノクロの正方形のテクスチャを描くこともできますが、それはかなりの量のリソースを消費します。私がやりたいのは、それをメモリ内のどこかに一度だけ描画し、保存してその後各フレームを描画することです。

自分でその円を描いて、すぐに使えるテクスチャとして使用することもできますが、私の円は必ずしも同じではありません。ゲーム全体でサイズが異なるため(実際には半分の時間は円ではありませんが、どこに描画するかを示すアルゴリズムがあります)、プログラムで描画する必要があります。

4

1 に答える 1

3

まず、円をカスタム にレンダリングしますRenderTarget2D。次のようにカスタム レンダー ターゲットを設定できます。

GraphicsDevice.SetRenderTarget(renderTarget);

レンダー ターゲットに円をレンダリングした後、次のTexture2Dようにキャストします。

texture = (Texture2D)renderTarget;

詳細: http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series3/Render_to_texture.php

于 2012-08-13T23:00:44.673 に答える