안드로이드를위한 프로그래밍 게임

안드로이드를위한 프로그래밍 게임 11: 입력 이벤트 InputAdapter

42 동영상

238 의사록

입력 이벤트로 작업하려면, InputProcessor라는 클래스를 libgdx 있습니다. 이 클래스는 입구에 libgdx에 의해 제어되며, 그것은 ApplicationAdapter처럼 작동 : 그것은 클래스 이벤트입니다. 그것은하다고 판단 할 때 우리는 코드를 작성하자 이벤트는 전화를 libgdx 때마침. 우리는 어떤 키를 누를 경우, 확인 당신이 키를 누를 것으로 알려 libgdx 누구든지 할 수 없습니다.

이것은 당신이 키를 누르면하지 않는 경우하는 코드가 실행되고 아니라는 것을, 우리가 이전 동영상, 폴링에서 본 시스템을 차별화 게임은 빠르게 실행됩니다. InputProcessor의 경우 어떤 이벤트가 방해하지 않도록 별도의 스레드에서 해방 될 것입니다 주요 코드. 내가 할 첫 번째 일은 입력 프로세서를 만드는 것입니다, 이것은 별도의 클래스에 있어야 뭔가,

예를 들어, 프로세서. 내 입력 프로세서는 InputProcessor를 구현해야합니다. 그것은 인터페이스, 그래서 모든 메소드를 구현해야 할 의무. 방법이 많이 있습니다, 우리는 그들을 점차적으로 볼 수 있습니다. 일부는 아래로하고 다른 사람까지 있습니다. 우리가 누르거나 화면을 터치하기 시작 때 사용되는 아래로, 우리가 그렇게하지 ​​못할 때 그들은 최대 사용된다. 예를 들어, 우리는를 keyDown 키를 누르면 시작했을 때 예를 들면, 우리는 'K'를 트리거 이벤트는

아래로 'K'를두고 있지만 손가락을 해제하지. 당신이 당신의 손가락을 떼면 keyUp 등 촬영. 우리가 압박 키를 눌러 시작했을 때 우리가 감지 할 수 있습니다. 이것은 정지가 앞으로 출시 될 때 마우스 오른쪽 버튼을 누르고있는 동안 앞으로 문자를 원하는 게임을 만들기 위해 역할을 할 수 있습니다. 여기에서 우리는 이동할 말해, 여기에서 우리는 끝을 말한다. 마찬가지로 터치 다운 및 터치 업으로 우리는 동일한 작업을 수행하지만 손가락으로 할 수 있습니다.

터치 다운은 손가락을 누르면 트리거, 그가 손질을 받았을 때입니다. 우리는 때 우리에게 알려줍니다,의 mouseMoved 다른 흥미로운 방법을 마우스를 이동. 이것으로 우리는 마우스가 움직이는 경우 comproabr 수 있습니다. 손가락이 안전한 곳이 휴대 전화에 당신이 알고하지 않기 때문에이 발생하지 않습니다 우리가 연주하는 사람들. 우리가를 수행 할 수 있도록 우리는 우리가 화면에서 마우스 나 손가락을 드래그 할 때 touchDragged 다른 감지해야

이동이나 제스처, 또는 무엇이든을합니다. 아니면 우리는 A 또는 B로, 문자를 클릭하면 감지의 keyTyped 그래서 우리는 편지를 작성하는 경우 우리는 빠르게 검색 할 수 있습니다. 이 매개 변수의 여지가 볼 수있는, 그래서 많은 있기 때문에 그것으로 맞고 싶지 않아,하지만 시작하자로 우리 관심사 인 터치, 함께 할 수있는 사람들을 위해. 우선 나는 이것을 제거하는 것, 그리고 많은 사람들이 나에게 변화를 관심됩니다

InputAdapter에 의해 InputProcessor. 왜? ApplicationAdapter, InputAdapter 및 어댑터로 그것이 구현입니다 않습니다에 대한 우리를 위해 인터페이스, 즉,이 프로세서 남아 있지만 우리가 구현되지 않습니다 방법을 구현하지,이 매우 편리합니다. 우리는 우리가 그것을 사용, 터치 다운을 사용하고 싶습니다. 우리는 그것을 사용 손질을 사용하고 싶습니다. 우리는 사용이 아닌두고,에서 KeyDown을 사용하지 않습니다.

모든 부울을 반환 할 이유는 아마 당신이 InputProcessor의 방법에 대해 궁금해하는 중요한 기능입니다. 이 때문입니다 우리는 false를 반환하는 경우 우리가 말을하면 당신은 아무것도하지 않은 것입니다 있도록 우리는이 방법에 뭔가를했을 경우 부울는 말한다. 그리고 그 괜찮아 때문에 libgdx 다른 프로세서는, 우리가 아무것도하지 않은 경우, 이벤트를 처리하기 위해 자신의 코드를 사용하거나 드롭하는 여부를 결정할 수 있습니다에 참석하는 경우

또는 다른 프로세서 ... 우리는 항상 그들이하고자하는 터치 나 키 또는 어디에서 코드를 만들 것입니다 전화, 우리는 마찬가지 반환해야 libgdx 우리가 이벤트를 처리 한 것을 나타냅니다. 터치 다운 및 터치 업. 그들은 여기에 네 개의 매개 변수가 있습니다. 같은 잘 모두. 우리가 연주 곳 screenY screenX와 당신을 알려줍니다. 포인터, 손가락은 우리가 연주를 나타냅니다. 당신은 어떤 손가락으로 말할 것인가? 네, 전화가 모두 있기 때문에

멀티 터치 날은 오늘, 예를 줌 제스처를 만들기 위해 당신은 한 번에 여러 손가락으로 클릭 할 수 있습니다. 또는 다른 제스처를 만들기 위해, 하지만 보통은 문제없이 4 ~ 5 손가락에 동의합니다. 우리가 손가락으로 화면을 누르면 0을 누른 상태 경우, 그 손가락은 0이 될 것이다 다른 손가락으로 눌러, 그 손가락 하나이며,이 한계에 도달 할 때까지 그래서, 각 화면 때문에 모든 좋은 화면 자체가 있습니다.

우리가있는 경우 바탕 화면의 경우, 마우스 버튼은 우리가 왼쪽이나 오른쪽으로 마우스 버튼을 클릭했습니다 어떤 우리를 다시 제공합니다. 테스트를 위해 내가 할거야이 '당신은 위치 (screenX, screenY)에서 연주'와 '손가락 (포인터)와 (버튼) 버튼을 사용했다'라고합니다. 나는이 방법으로 내 이벤트를 시도, 나는 당신이 내가 일을했습니다 알고 그냥 때문에 true를 돌려줍니다. 남아있는 유일한 방법은 메인 게임을 연결하는 것입니다.

새로운 코스를 찾으려면 가입. 아무 스팸 없을 것, 약속 :)

저자에 관하여

foto de jotajotavm
José Javier Villena

전기 : 다른 언어 분석 - 프로그래머. 교사 PREMIUM 플랫폼은 CodigoFacilito으로 세계적으로 인정. 에디터 Cristalab 기사. 내 YouTube 채널은 아나야와 LaTostadora 출판사가 후원한다. 나는 상세히 설명하고 의심의 소지를 없애기위한 몇 가지 예를주는 것을 좋아합니다.