Если это правильная интерпретация вашего вопроса, поворот от «последнего кадра» к «этому кадру» ,,
Если вы знаете местоположение точки, вокруг которой должен вращаться спрайт, и знаете расстояние от той точки, которой вы хотите, чтобы спрайт был, попробуйте следующее:
float radius = ?.?f; // distance from pivot point to sprite
Vector2 spritePivot = new Vector2(?, ?); //location of pivot point
Vector2 mouseToPoint = spritePivot - new Vector2(mouseState.X, mouseState.Y);
mouseToPoint.Normalize();
float spriteAngle = MathHelper.Atan2(mouseToPoint.Y, mouseToPoint.X);
mouseToPoint *= radius;
Vector2 spriteLocation = spritePivot + mouseToPoint;
позже, при рисовании спрайта, используйте spriteAngle & spriteLocation в качестве параметров правильной перегрузки SpriteBatch.Draw ()
Ог