2013-06-21 3 views
0

저는 libgdx를 사용하여 mygame을 개발하고 있습니다.Lodgdx GestureListener가 Hold TouchDown을 처리합니다.

나는 터치 이벤트를 처리하기 위해 GestureListener를 사용하고 있습니다. 내 목표는 플레이어가 화면에서 터치 할 때 캐릭터가 오른쪽 또는 왼쪽으로 이동하도록하는 것입니다.

문제는 GestureListener에이 문제를 처리 할 수있는 방법이 없다는 것입니다. 팬을 사용하는 경우 플레이어가 스 와이프하여 메서드를 트리거해야합니다. 또한 GestureListener에는 touchUp 메서드가 없으므로 touchDown과 touchUp을 결합 할 수 없습니다.

이렇게 할 방법이 있습니까?

답변

5

Libgdx GestureDetector은 스 와이프 및 핀치와 팬과 같은 높은 수준의 "제스처"를 감지하도록 설계되었으므로 다른 종류의 터치 이벤트를보고 할 수 없습니다. 당신은 원시 터치 이벤트를 얻을 수 긴 접촉을 추적하는 InputProcessor 더 직접적인을 사용할 수

첫째 :

당신이 원하는 정보를 얻기위한 몇 가지 옵션이 있습니다. 기존 제스처 리스너와 새 입력 프로세서 간의 입력을 공유하려면 InputMultiplexer을 사용해야 할 수도 있습니다.

둘째, 업데이트 방법에서 poll for the is-being-touched state 수 있습니다. Gdx.input.isTouched(x)을 확인한 다음 Gdx.input.getX(x)Gdx.input.getY(x) (지원하려는 활성 포인터 수에 따라 0 ~ 20 범위의 x)을 확인하십시오.

+0

안녕하세요, thx, 저는 입력 프로세서를 사용했으며 작동했습니다. 하지만 InputMultiplexer에 대해 아직 이해하지 못하고 있습니다. 사용해야합니까? 이 https://code.google.com/p/libgdx-users/wiki/handlingUserInput에서 읽었지만 여전히 이해할 수 없습니다. – Algorithman

+0

여러 입력 프로세서를 동시에 사용하려면'InputMultiplexer'가 필요합니다. 그렇지 않으면 필요하지 않습니다. 좀 더 구체적인 문제가 있으면 새로운 질문을하는 것이 가장 좋습니다. –

+0

자, 고마워. – Algorithman

관련 문제