问题
I've been using the SFML 1.6 library, and I'd like to know.
How does one rotate a sprite so it always turns toward where the mouse is located on screen?
Thanks.
(SFML specific code is preferred)
回答1:
If you have the position of the sprite : S = (Sx, Sy) and the position of the cursor C = (Cx, Cy)
You can calculate the angle between the vector
 = (Cx - Sx, Cy - Sy) and a unit vector for example 
 = (1, 0, 0).
To calculate the angle you can use the cross product :
And then :
then you calculate the angle :
Finally You rotate your sprite :
Sprite.SetRotation(alpha); //alpha in degree
    来源:https://stackoverflow.com/questions/4859306/rotate-sprite-to-mouse-position