3

回転に問題があります。draw メソッドを使用して Texture2D オブジェクトを回転できることを知っています。

私の目標は、テクスチャを 180° 回転させることです。たとえば、頭が下にあるカメラで人間の写真を作成した場合、頭が再び上にくるように回転できるようにしたいと考えています。

コードまたはローテーションは次のとおりです。

spriteBatch.Draw(Texture, Position, null, Color.White, MathHelper.Pi, new Vector2(), 1.0f, SpriteEffects.None, 0f);

回転は正常に機能しますが、別の問題があります。 ここに画像の説明を入力

テクスチャを回転させて 0,0 の位置に追加すると、テクスチャが見えなくなります。

赤い点が再び左上隅にくるように、オブジェクトを回転または反射するにはどうすればよいですか?

4

1 に答える 1

3

http://msdn.microsoft.com/en-us/library/ff433989.aspx

public void Draw (
     Texture2D texture,
     Vector2 position,
     Nullable<Rectangle> sourceRectangle,
     Color color,
     float rotation,
     Vector2 origin,
     Vector2 scale,
     SpriteEffects effects,
     float layerDepth)

//Using:
var origin = new Vector2()
{
    X = texture.Width / 2,
    Y = texture.Height/ 2
};


spriteBatch.Draw(texture, Vector2.Zero, null, Color.White, MathHelper.Pi, origin, 1f, SpriteEffects.None, 0f)`
于 2012-04-11T08:09:47.463 に答える