Если вы посмотрите документацию класса sf :: View (https://www.sfml -dev.org / tutorials / 2.0 / graphics-view.php ):
"В отличие от нарисованных объектов, таких как спрайты или фигуры, чьи позиции
определяются их верхним левым углом (и могут быть изменены на любой другой
точка), взгляды всегда манипулируют своим центром - это
просто удобнее. Вот почему функция для изменения
позиция представления называется setCenter, а не setPosition. "
В нем говорится, что происхождение представления находится в его центре. Поэтому, если вы хотите разместить представление в верхнем левом углу, просто сделайте это с помощью:
view.setCenter(view.getWidth() / 2, view.getHeight() / 2);
Если вы хотите центрировать угол окна по центру вида, просто сделайте:
view.setCenter(0,0);
Теперь, если вы поворачиваете вид, он всегда вращается вокруг своего центра, поэтому расположите вид соответствующим образом, прежде чем поворачивать его.
Дайте мне знать, если у вас есть дополнительные вопросы и если это помогло.
Вам подходит следующее?
// This should set the view to the upper left corner with a size of 500x300
view.reset(sf::FloatRect(250, 150, 500, 300));
// Now you can rotate the view around its center:
view.setRotation(90);
// Don't forget to apply the view.
window.setView(view);
Надеюсь, это поможет.