Я делаю гоночную игру с помощью Libgdx. Я хочу коснуться половины правой стороны экрана, чтобы ускорить, в то же время, не удаляя предыдущую сенсорную точку, коснитесь еще раз в левой части экрана, чтобы выстрелить. Я не могу обнаружить более поздние сенсорные точки.Как отслеживать несколько событий касания в Libgdx?
Я искал и получал Gdx.input.isTouched(int index)
метод, но не могу определить, как его использовать. Мой сенсорный экран код:
if(Gdx.input.isTouched(0) && world.heroCar.state != HeroCar.HERO_STATE_HIT){
guiCam.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0));
if (OverlapTester.pointInRectangle(rightScreenBounds, touchPoint.x, touchPoint.y)) {
world.heroCar.state = HeroCar.HERO_STATE_FASTRUN;
world.heroCar.velocity.y = HeroCar.HERO_STATE_FASTRUN_VELOCITY;
}
} else {
world.heroCar.velocity.y = HeroCar.HERO_RUN_VELOCITY;
}
if (Gdx.input.isTouched(1)) {
guiCam.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0));
if (OverlapTester.pointInRectangle(leftScreenBounds, touchPoint.x, touchPoint.y)) {
world.shot();
}
}
Привет, спасибо за ваш ответ. Когда я использовал свой код, его огонь выстрелил либо я касаюсь экрана, либо нет, но я хочу выстрелить только при касании экрана. –
А, может быть, код должен проверять 'Gdx.input.isTouched (i)' перед вызовом 'getX (i)'? (Вероятно, неиспользуемые точки касания имеют X нуля ...). Я обновлю код. –
Эй, его работа, спасибо. –