各画像を 90 度、180 度、および 270 度に回転できる必要がある一連の画像があります。これらの画像はすべて Texture2D 型です。私のためにこれを達成するための組み込み関数はありますか? または、各画像の追加の回転画像をロードする必要がありますか? または、このタスクを完了するためのより良い方法はありますか?
質問する
6328 次
2 に答える
5
SpriteBatch.Draw
引数のほとんど (またはすべて) を指定する必要がありますが、テクスチャをバッファに描画するときに、 を使用してテクスチャを回転 (およびスケーリング) できます。角度はラジアンで与えられます。
SpriteBatch.Begin();
angle = (float)Math.PI / 2.0f; // 90 degrees
scale = 1.0f;
SpriteBatch.Draw(myTexture, sourceRect, destRect, Color.White, angle,
position, scale, SpriteEffects.None, 0.0f);
SpriteBatch.End();
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.spritebatch.draw.aspx
画像の事前に回転したコピーをロードすることもできますが、おそらく通常の早期最適化の講義を受けることになるでしょう。
于 2012-05-10T05:16:10.320 に答える