PNG 画像をレンダリングする画面があります (BaseScreen は Screen インターフェイスを実装しています)。画面をクリックすると、タッチした位置に文字が移動します (テスト用)。
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 で、タッチすると画面の上部近くになります。ただし、座標は左下から始まるため、文字は下に表示されます。
なぜですか?座標系が逆なのはなぜですか? これを判断するために間違ったオブジェクトを使用していませんか?