0

Draw() プロセス中に Texture2D を回転できることは知っていますが、求めているのは少し異なります。描画する前に回転した Texture2D が必要であり、さらに操作するために別の Texture2D に格納します。次のようなもの:

   Texture2D rotated = getRotatedTexure(originalTexture);

ただし、どこから始めればよいかさえわかりません。テクスチャを画像に変換し、そこで作業フォームを作成する必要がありますか? アドバイスをいただければ幸いです。

この理由は長くて複雑ですが、本質的には、回転アニメーション エンジン (AKA: "Skeletal Animation"、"Bone Animation"、または "Cutout Animation") を構築しようとしています。

4

2 に答える 2

2

これを試してください:XNA Rotate Texture 2D

于 2013-01-29T05:06:38.380 に答える
0

できることは、RenderTarget2D を定義し、回転したテクスチャを描画することです。例:

RenderTarget2D rotated_texture = new RenderTarget2D(GraphicsDevice, texture_width, texture_height);

GraphicsDevice.SetRenderTarget(rotated_texture);

spriteBatch.Begin();
//Draw the texture with rotation
spriteBatch.End();

GraphicsDevice.SetRenderTarget(null); //Reset to screen drawing

その後、画面に描画したい場合は、次のrotated textureことができます。

//GraphicsDevice.SetRenderTarget(null); //Considering this done

spriteBatch.Begin();
spriteBatch.Draw(rotated_texture, vector_position, Color.White);
spriteBatch.End();
于 2013-12-27T10:06:47.887 に答える