旋转无法正常工作

时间:2014-04-14 19:43:00

标签: c# xna rotation

我认为我没有正确的RotationOrigin参数。

首先,我正在使用XNA编写一个小角色扮演游戏,我想根据它看起来的方向旋转一个精灵。我有正确的轮换和一切肯定,但我想我可能用错误的方法。

为什么这不起作用?

spriteBatch.Draw(Texture, Position, null, Color.White, Rotation, new Vector2(Texture.Width/2, Texture.Height/2), 1, SpriteEffects.None,  1);

我以为你用Texture.Width / 2Height / 2计算了原点?

1 个答案:

答案 0 :(得分:0)

使用你的原点时,你在游戏中看到的位置会比不使用中心原点稍微高一些,因为你在旋转时从位置减去原点。

尝试将您的原点存储在Vector2中,并在绘制对象时将其添加到您的位置。

Vector2 Origin = Vector2(Texture.Width/2, Texture.Height/2);
spriteBatch.Draw(Texture, Position + Origin, null, Color.White, Rotation, Origin, 1, SpriteEffects.None,  1);
相关问题