Upd: sfml не предоставляет средств для работы с физикой. Разрешение коллизий придется реализовать самому,
пример.
Нужно начать с того, что
разрешение коллизий выполняется не для спрайта, который существует только для отображения объекта, а для связанной с объектом формы (множеством форм) - коллайдера (collider) (прямоугольника, окружности, параллелепипеда, сферы и т.п.). Коллайдер представляет собой упрощенную форму игрового объекта. Работа с такими формами значительно упрощает разрешение коллизий.
В двумерном платформере коллайдером может быть прямоугольник. Если объект имеет квадратную форму, и мы можем пожертвовать столкновением с углами, то коллайдером можно выбрать аккуратно подогнанную по размеру окружность. Распространенный вид коллайдера -
AABB (axis aligned bounding box), прямоугольник, стороны которого всегда параллельны осям координат. При повороте игрового объекта достаточно изменить размеры такого прямоугольника, чтобы объект оставался в его границах.
Следующая за определением коллизий большая проблема - реализация реакции на коллизию. Если просто обнулить скорость в момент коллизии, объекты слипнутся, создавая бесконечную коллизию. Также нужно помнить о возможных длительных интервалах между полными итерациями игрового цикла, которые влияют на интервалы разрешения коллизий, если оно реализовано в потоке с игровой логикой или отрисовкой кадра, а не в отдельном потоке с постоянной частотой. Если интервал достаточно долгий, объекты могут проваливаться друг через друга, игрок может вылететь за рамки сцены.
Если нужно реализовать именно игру, то посмотрите в сторону библиотек с готовыми реализациями. Если проект учебный, выберите простую форму коллайдера, например aabb или окружность, и поищите для них примеры разрешения коллизий. Примеров множество.