Ось Y Libgdx, как ее инвертировать? - PullRequest
0 голосов
/ 13 октября 2019

Как инвертировать ось Y? Когда я касаюсь нижней или верхней части экрана, значение Y противоположно, я хочу

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Я бы сказал, что это повторяющиеся вопросы этого вопроса:

Переместите фигуру в место, где коснулся мой палец

Проверьте мой ответ там, такЯ не буду повторяться.

Или вкратце - используйте метод camera.unproject(), чтобы получить мировые координаты из экранных координат.

0 голосов
/ 13 октября 2019

Вы не можете инвертировать ось как таковую. Видите ли, в компьютерной графике двумерная система координат немного отличается от канонической, которую преподают в школе по математике. Разница заключается в том, что в компьютерной графике ось у находится в противоположном направлении, то есть от начала координат до нижней точки она имеет положительные значения, а от начала координат до вершины она имеет отрицательные значения. Кроме того, источник находится в верхнем левом углу экрана. Если вы не можете привыкнуть к этому, то вы всегда можете принять противоположное значение к тому, что вы получаете, для этого asume ycoord содержит полученное значение, тогда вы можете сделать ycoord = -ycoord, и это даст вам значение, как вы 'привык. Кроме того, если вы хотите, чтобы начало координат находилось в нижнем левом углу, вам следует проверить свою y-координату, если она положительна, вычесть в нее вертикальное разрешение, а если отрицательное, добавить к нему вертикальное разрешение. Но имейте в виду, что вы идете вразрез со стандартным определением систем координат в компьютерной графике.

...