如何检测libgdx中何时触及actor?

Rud*_*_TM 3 android sprite touch libgdx

我在我的Screen方法的render方法中使用"Gdx.input.isTouched()"来知道触摸的位置,但是当在屏幕上拖动触摸时,它也会激活我想要的事件,只有当一个actor被触摸时.

是否有任何听众知道何时触及一个Actor,但事件不是被拖动的,我用精灵来做.

Lud*_*vik 10

在LibGDX中查看有关scene2d的 Wiki页面.特别是关于输入处理的部分.

基本上你必须在Actor中覆盖这些方法中的一个或多个:

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;
}
Run Code Online (Sandbox Code Playgroud)

  • 对于过时的评论感到抱歉,但这些方法是从当前版本的Actor中删除的吗?似乎他们失踪了. (5认同)
  • Libgdx wiki包含有关处理事件的最新信息.请参阅http://code.google.com/p/libgdx/wiki/scene2d#Event_system (2认同)