2012-02-10 4 views
3

내 Screen 메서드의 렌더링 메서드에서 "Gdx.input.isTouched()"를 사용하여 터치 한 위치를 알 수 있지만 화면에서 터치를 끌면 배우가 활성화 될 때만 원하는 이벤트가 활성화됩니다. 만졌어.libgdx에서 액터에 손을 대는시기를 감지하는 방법은 무엇입니까?

액터가 터치되었을 때 알 수있는 리스너가 있지만 이벤트는 드래그 된 이벤트가 아니며 스프라이트로 이벤트를 수행합니다.

답변

10

LibGDX의 scene2d에 관한이 위키 페이지를 참조하십시오. 특히 입력 처리에 관한 부분.

public boolean touchDown (float x, float y, int pointer) { 
    return false; 
} 

public void touchUp (float x, float y, int pointer) { 
} 

public void touchDragged (float x, float y, int pointer) { 
} 

public boolean touchMoved (float x, float y) { 
    return false; 
} 

public boolean scrolled (int amount) { 
    return false; 
} 

public boolean keyDown (int keycode) { 
    return false; 
} 

public boolean keyUp (int keycode) { 
    return false; 
} 

public boolean keyTyped (char character) { 
    return false; 
} 
+5

오래된 댓글을 사용하여 죄송 합니다만, 현재 버전의 Actor에서이 메소드가 제거 되었습니까? 그들이 실종 된 것 같습니다. – iozee

+2

Libgdx wiki에는 이벤트 처리에 대한 최신 정보가 들어 있습니다. http://code.google.com/p/libgdx/wiki/scene2d#Event_system을 참조하십시오. – Ludevik

0

난 당신이 이동 이벤트가에 의해 수행뿐만 아니라 하나의 시간 터치를 감지하기 위해 다음 방법 중 하나를 구현해야 생각 :

은 기본적으로 당신은 당신의 배우에서 이러한 방법 중 하나 이상을 오버라이드 (override) 할 필요가 사용자.

Gdx.input.justTouched(); 
1

(libGDX Actor)에는 청취자가 있습니다. 예제 버튼을 눌렀을 때 또는 확인 중인지 확인하려는 경우 button.isPressed(), button.isCheck()을 호출하면 부울을 반환합니다.

0

멀티 액터가있는 스테이지에서 제어 할 수 있다고 생각합니다.

관련 문제