• Advertisement
Sign in to follow this  

Rotating a sprite toward mouse [SFML]

This topic is 1003 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

In my game, I want the sprite to be able to rotate towards the mouse. However, the conventional method of atan2(dY, dX) gives bad results. I want to find out what I am doing wrong



Calling the update cycle:

gameObj.player->update(deltaTime, sf::Mouse::getPosition(*app));

Player update code:

void player::update(float time, sf::Vector2i mousePos)
        shipSprite.move(playerVelocity * time);

        const float PI = 3.14159265;

        float dX =  mousePos.x - shipSprite.getPosition().x;
        float dY = mousePos.y - shipSprite.getPosition().y;

        float rotation = atan2(dY, dX);
        rotation *= 180 / PI;


What happens:


Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement