나는 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();
}
}
안녕하세요, 답장을 보내 주셔서 감사합니다. 내가 당신의 코드를 사용했을 때 나는 스크린을 터치하거나 쏘지 만 총을 쏘기를 원한다. –
아, 아마 코드는'getX (i)'를 호출하기 전에'Gdx.input.isTouched (i)'를 체크해야할까요? (아마도 사용되지 않는 터치 포인트는 X가 0 일 것입니다.). 코드를 업데이트하겠습니다. –
헤이 작동, 고마워. –