Различия в системе координат libgdx между рендерингом и сенсорным вводом

У меня есть экран (BaseScreen реализует интерфейс экрана), который отображает изображение в формате PNG. При нажатии на экран он перемещает персонажа в положение, к которому он прикоснулся (в целях тестирования).

public class DrawingSpriteScreen extends BaseScreen {
    private Texture _sourceTexture = null;
    float x = 0, y = 0;

    @Override
    public void create() {
        _sourceTexture = new Texture(Gdx.files.internal("data/character.png"));
    }

    .
    .
}

Во время рендеринга экрана, если пользователь коснулся экрана, я беру координаты касания, а затем использую их для рендеринга изображения персонажа.

@Override
public void render(float delta) {
    if (Gdx.input.justTouched()) {
        x = Gdx.input.getX();
        y = Gdx.input.getY();
    }

    super.getGame().batch.draw(_sourceTexture, x, y);
}

Проблема заключается в том, что координаты для рисования изображения начинаются с левой нижней позиции (как отмечено в LibGDX Wiki), а координаты для сенсорного ввода начинаются с верхнего левого угла. Так что проблема, которую яу меня есть то, что я нажимаю в правом нижнем углу, он перемещает изображение в верхнем правом углу. Мои координаты могут быть X 675 Y 13, которые на ощупь будут в верхней части экрана. Но символ показан внизу, поскольку координаты начинаются слева внизу.

Почему что? Почему системы координат меняются местами? Я использую неправильные объекты, чтобы определить это?

Ответы на вопрос(4)

Ваш ответ на вопрос