En me servant du lien que tu m'as donné, ce n'est toujours pas fluide :
sf::Clock clock;
sf::Time elapsed = clock.restart();
move(0, -3 * (1 * elapsed.asMicroseconds()));
Le déplacement est toujours saccadé.
EDIT : c'est bon j'ai réglé le problème.
C'est qu'il fallait récupérer le frameTime en dehors du clear/display.
Par contre autre problème : je code mon rectangle de tel sorte à ce qu'il s'arrête 10 pixel avant le bord. Or parfois il s'arrête 5 px avant et non 10px. Y aurait t'il quelque chose à faire pour éviter ce bug ?
Mon code :
if (sf::Keyboard::isKeyPressed(m_idJoueur == 0 ? sf::Keyboard::Z : sf::Keyboard::Up) && getPosition().y >= 10)
move(0, ceil(-300 * tempsFrame));
if (sf::Keyboard::isKeyPressed(m_idJoueur == 0 ? sf::Keyboard::S : sf::Keyboard::Down) && getPosition().y <= m_fenetre.getSize().y - 110)
move(0, ceil(300 * tempsFrame));
EDIT 2 : j'ai aussi réussi à corriger ce bug là. Il faut simplement modifier sa position quand il va au delà des 10px du bord.