Мой счет не увеличивается после того, как я касаюсь мяча. Он увеличивается только тогда, когда я касаюсь мяча и его ближайшего центра экрана. Когда мой мяч только перемещается по оси х, сохраняя постоянную, сенсорный режим работает нормально. Но когда оба увеличиваются, счет увеличивается только при касании в центре.Сенсорный код работает только в центре экрана в моей игре с помощью libgdx
@Override
public void render() {
batch.begin();
Gdx.gl.glClearColor(1,1,1,1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.draw(ball,xposi,yposi,100,100);
if(gameState==1) {
if (Gdx.input.justTouched()) {
tmp = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0);
textureBounds = new Rectangle(xposi, yposi, 100, 100);
if (textureBounds.contains(tmp.x, tmp.y)) {
Gdx.app.log("Click", "On Ball");
score++;
}
else {
Gdx.app.log("Click", "Not on Ball");
}
}
font.draw(batch, String.valueOf(score), 100, 300);
font.draw(batch, String.valueOf(lives), 200, 300);
xposi+=velocity;
yposi+=velocity;
if (xposi >= xmax - 100) {
velocity = -velocity;
} else if (xposi <= xmin) {
velocity = -velocity;
}
if (yposi >= ymax - 100) {
velocity = -velocity;
} else if (yposi <= ymin) {
velocity = -velocity;
}
batch.end();
}
}
Вы можете просто использовать 'camera.unproject()', как указано в [docs] (https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/Camera.html) –
@ LeonZ. Я думаю, что владелец этого вопроса не использует какую-либо камеру. – Aryan
Большое вам спасибо. Проблема решена !!! – Shubhankar