我有旋转问题。我知道我可以使用draw方法旋转Texture2D对象。
我的目标是将纹理旋转180°。例如,如果我使用头部位于底部的相机拍摄人物照片,我希望能够旋转它以使头部再次位于顶部。
这是代码或轮换:
spriteBatch.Draw(Texture, Position, null, Color.White, MathHelper.Pi, new Vector2(), 1.0f, SpriteEffects.None, 0f);
旋转工作正常,但我有另一个问题:
如果我在旋转后将纹理添加到位置0,0,它就不再可见了。
如何旋转或反射物体,以便红点再次位于左上角?
答案 0 :(得分: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)`