问题
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


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