Question
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)
Solution
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
OTHER TIPS
There is discussion of this on the SFML forum at this link.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow