System współrzędnych libgdx różnic między renderowaniem a wprowadzaniem dotykowym

Mam ekran (BaseScreen implementuje interfejs ekranu), który renderuje obraz PNG. Po kliknięciu ekranu przesuwa postać na dotkniętą pozycję (w celach testowych).

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"));
    }

    .
    .
}

Podczas renderowania ekranu, jeśli użytkownik dotknął ekranu, chwytam współrzędne dotyku, a następnie używam ich do renderowania obrazu postaci.

@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);
}

Problem polega na tym, że współrzędne rysowania zaczynają się od lewej dolnej pozycji (jak zaznaczono w Wiki LibGDX), a współrzędne wprowadzania dotykowego zaczynają się od lewego górnego rogu. Problem, który mam, polega na tym, że klikam w prawym dolnym rogu, przesuwa obraz w prawy górny róg. Moimi współrzędnymi może być X 675 Y 13, które po dotknięciu będą blisko górnej krawędzi ekranu. Ale postać pokazuje się na dole, ponieważ współrzędne zaczynają się od lewego dolnego rogu.

Dlaczego co Dlaczego układy współrzędnych są odwrócone? Czy używam niewłaściwych obiektów, aby to ustalić?

questionAnswers(4)

yourAnswerToTheQuestion