Witam, mam problem z swoim raczkującym projektem. Przeszukałem dokumentację, jednak nie znalazłem odpowiedzi. Otóż w moim "programie" położenie y dla Gdx.input.justTouched() jest odwrotne do batch.draw (Najprawdopodobniej przez to, że punkt 0.0 dla Gdx jest w górnym lewym rogu, a dla batch.draw znajduje się on w dolnym lewym rogu). Pytanie z mojej strony brzmi jak mogę sobie z tym poradzić (np. na co zmienić justTouched, lub batch.draw).
package com.mygdx.game;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class MyGdxGame extends ApplicationAdapter {
private SpriteBatch batch;
private Texture gracz;
private Gameobject gameObject1;
int x,y;
@Override
public void create () {
batch = new SpriteBatch();
gracz = new Texture("ludzik.png");
gameObject1 = new Gameobject(gracz);
gameObject1.x=0;
gameObject1.y=0;
}
public void render () {
update();
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.draw(gameObject1.getTexture(), gameObject1.x, gameObject1.y);
batch.end();
}
private void update() {
if(Gdx.input.justTouched()) {
x = Gdx.input.getX();
y = Gdx.input.getY();
gameObject1.x=x-20;
gameObject1.y=y-20;
}
}
}