내 Screen 메서드의 렌더링 메서드에서 "Gdx.input.isTouched()"를 사용하여 터치 한 위치를 알 수 있지만 화면에서 터치를 끌면 배우가 활성화 될 때만 원하는 이벤트가 활성화됩니다. 만졌어.libgdx에서 액터에 손을 대는시기를 감지하는 방법은 무엇입니까?
액터가 터치되었을 때 알 수있는 리스너가 있지만 이벤트는 드래그 된 이벤트가 아니며 스프라이트로 이벤트를 수행합니다.
내 Screen 메서드의 렌더링 메서드에서 "Gdx.input.isTouched()"를 사용하여 터치 한 위치를 알 수 있지만 화면에서 터치를 끌면 배우가 활성화 될 때만 원하는 이벤트가 활성화됩니다. 만졌어.libgdx에서 액터에 손을 대는시기를 감지하는 방법은 무엇입니까?
액터가 터치되었을 때 알 수있는 리스너가 있지만 이벤트는 드래그 된 이벤트가 아니며 스프라이트로 이벤트를 수행합니다.
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;
}
난 당신이 이동 이벤트가에 의해 수행뿐만 아니라 하나의 시간 터치를 감지하기 위해 다음 방법 중 하나를 구현해야 생각 :
은 기본적으로 당신은 당신의 배우에서 이러한 방법 중 하나 이상을 오버라이드 (override) 할 필요가 사용자.
Gdx.input.justTouched();
(libGDX Actor
)에는 청취자가 있습니다. 예제 버튼을 눌렀을 때 또는 확인 중인지 확인하려는 경우 button.isPressed()
, button.isCheck()
을 호출하면 부울을 반환합니다.
멀티 액터가있는 스테이지에서 제어 할 수 있다고 생각합니다.
오래된 댓글을 사용하여 죄송 합니다만, 현재 버전의 Actor에서이 메소드가 제거 되었습니까? 그들이 실종 된 것 같습니다. – iozee
Libgdx wiki에는 이벤트 처리에 대한 최신 정보가 들어 있습니다. http://code.google.com/p/libgdx/wiki/scene2d#Event_system을 참조하십시오. – Ludevik