2014-09-09 2 views
0

내 메뉴 화면에서 isTouched를 사용하여 내 게임 화면으로 이동합니다. 계속하려면 누르십시오.LibGDX 이전 화면에서 입력하여 등록

메인 게임 화면의 생성자에서 입력 프로세서를 설정합니다. 그러면 입력 프로세서가 이전 화면의 터치에서 즉시 시작됩니다.

이 문제를 해결하는 적절한 방법은 무엇입니까?

편집 : Android 기기에서 내 손가락을 탭하면 터치로 isTouched/justTouched가 트리거됩니다. 그러면 다음 화면이 내 손가락을 들어 올리는 것보다 빠르게로드되고 손가락 위로 이벤트가 입력 프로세서를 트리거합니다.

+0

관련 질문 : http://stackoverflow.com/questions/9236175/how-to-detect -when-an-actor-is-in-libgdx –

답변

1

이런 종류의 이벤트 유출을 방지하는 기본 제공 방법이 없다고 생각합니다. 이 문제를 피하는 한 가지 방법은 누르기가 아니라 해제 할 때 전환을 트리거하는 것입니다.

  1. InputProcessor을 사용하도록 기본 메뉴를 전환하십시오. 터치 끝 (end-of-touch) 이벤트를 사용하여 전환을 트리거하면 이벤트가 새로운 InputProcessor을 오염시키지 않습니다. 이렇게하면 폴링과 이벤트 기반 입력이 섞이는 것을 피할 수 있습니다.

  2. isTouched이 참일 때 플래그를 설정하고 isTouched이 거짓이고 플래그가 참일 때 렌더링 반복에서 계속 진행하는 것이 안전하다는 것을 알고 있습니다 (이는 터치 스크린을 기다리는 해킹 된 폴링 버전입니다) up 이벤트).

많은 UI에서 버튼 이벤트는 터치 업 (또는 이와 동등한)에서 트리거됩니다. 예 :이 Stackoverflow UI에서 "답변 게시"버튼을 클릭 한 다음 마우스를 버튼 밖으로 드래그하여 놓습니다. 버튼이 "클릭"하지 않습니다. (마찬가지로 버튼 외부를 클릭하고 드래그 한 다음 놓으면 여전히 '클릭'하지 않습니다.)

+0

감사합니다. 합리적인 것 같아요. – JCraw