1

おそらく、設計されていない方法で XNA を使用しようとしていますが、独自のプリミティブを描画して、ビットマップ、texture2D、またはいくつかの 2D ラインを保持するものとして保存できるようにしたいと考えています。私のため。私の目標は、テクスチャがコンテンツ マネージャーから読み込まれるだけでなく、プロシージャルに作成されるゲームをプログラムすることです。

知っておくと役立つ場合は、ポリゴンを格納する Shape クラスを作成しました。おそらく spriteBatch に各線を描画するように指示することもできますが、一般的に使用される形状をどこかに格納して最適化しようとしています。

4

1 に答える 1

3

タスクにRenderTargetを使用できます。このようなもの:

// var to store your drawing
Texture2D newShape;

// drawing will be on this target
RenderTarget2D rt = new RenderTarget2D(GraphicsDevice, width, height);
SpriteBatch sb = new SpriteBatch(GraphicsDevice);

// set to render all to render target
GraphicsDevice.SetRenderTarget(rt); 

GraphicsDevice.Clear(Color.Transparent); 

sb.Begin();

// Draw what you want here.

sb.End()

// Return to drawing on "main" buffer
GraphicsDevice.SetRenderTarget(null);

// Save the texture you just drawn
newShape = rt;
于 2012-12-11T05:33:32.687 に答える