Вы возитесь с координатами .Я добавляю это изображение, чтобы проиллюстрировать:
Окно черного фона - это ваше исходное окно.Вы должны представить свое окно как это, окно, которое показывает вид бесконечной плоскости .Он начинает показывать точки от (0,0) (верхний левый угол) до (800 600) (нижний правый угол).
Когда вы создаете окно, оно должно иметь вид.По умолчанию вид вашего окна - это вид по центру в (400,300) с размером всего окна (синий прямоугольник).
Первое, что высделать это:
view.setCenter(0, -300); //!!!
view.setSize(800, 600);
window.setView(view);
Итак, теперь вы перемещаете вид вашего окна (зеленый прямоугольник).Центр этого вида теперь включен (0, -300) с размером исходного окна.
Затем вы рисуете свой квадрат:
rect.setSize(Vector2f(50, 50));
rect.setPosition(Vector2f(0, 600));
rect.setOrigin(25, 25);
Это квадрат, центр котороготочка будет (0,600) (левый нижний угол исходного окна).
Когда вы просматриваете участок плоскости над линией x=0
, вам необходимо переместить квадрат (почти)600 единиц вверх, чтобы просмотреть его, т.е. до (0,0).Это на самом деле то, что происходит.