2017-12-21 4 views
1

(LibGDX에서) 나는 응용 프로그램을 개발하고 그리고 난 운동을손가락을 누르지 않고 어떤 버튼을 누르는 것을 어떻게 변경할 수 있습니까?

를 추가하려면이 tutorial을 따랐다하지만 난 새로운 버튼에 손가락을 밀어 때마다 아직도 내가 firt 가진 결과 누른 버튼의 버튼 누름을 인식한다 손가락을 들어 단추를 바꾸려면.

내가이 일을하는 플레이어가 화면을 누를 때마다 사각형을 만드는 것입니다 그리고 비록 새로운 버튼

에 난을 수있는 유일한 방법 슬라이딩 할 수있는 방법을 찾고 싶은 그것은이다 버튼을 겹치는 경우 libgdx의 Image 클래스가 겹치면 그 방향으로 이동하고 플레이어가 손가락을 움직이면 사각형으로 그 사각형을 움직입니다.

이 방법을 사용하는 것이 더 좋으며 이미지가 겹치는 경우 어떻게 감지 할 수 있습니까?

+0

@meditat 튜토리얼에서 컨트롤에 추가하는 것 외에 표시 할 항목이 없습니다. 위로 버튼을 누르고 내 손가락을 아래쪽 버튼으로 드래그하면 플레이어가 계속 움직이고 내 손가락을 감지하지 못하는 문제가 있습니다. 이제 아래쪽 버튼을 만지고있다. 그러나 손가락을 들고 donw 버튼을 누르면 움직인다. – Arcxz

+0

포인터 (터치)가 이미지와 겹쳐 졌는지 탐지하려면'InputListener'와'enter()'및'exit() '메소드. https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/InputListener.html – Arctic45

답변

1

Arctic45는 터치 컨트롤을 처리하는 내 클래스, 그래서 작품은 내가 각 버튼이 말했다 무엇

leftImg.addListener(new InputListener() { 

     @Override 
     public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) { 
      player.getComponent(MovementComponent.class).setGoLeft(true); 
      super.enter(event, x, y, pointer, fromActor); 
     } 

     @Override 
     public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) { 
      player.getComponent(MovementComponent.class).setGoLeft(false); 
      super.exit(event, x, y, pointer, toActor); 
     } 
    }); 

와 나는 그것을 실행하고없이 누르면 어떤 버튼을 변경 다른 버튼에 밀어 다음 버튼을 누르면 터치 업 이벤트가 필요했습니다.

관련 문제