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 回答