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

时间:2012-02-10 23:15:37

标签: android touch sprite libgdx

我在我的Screen方法的render方法中使用“Gdx.input.isTouched()”来知道触摸的位置,但是当在屏幕上拖动触摸时,它还会激活我想要的事件演员被感动了。

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

4 个答案:

答案 0 :(得分:10)

请参阅此Wiki页面,了解LibGDX中的scene2d。特别是关于输入处理的部分。

基本上你必须在你的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;
}

答案 1 :(得分:1)

libGDX Actor中的

内部有一个监听器。 例如,如果您想要在按下按钮时进行检查,或者是检查,请致电: button.isPressed()button.isCheck(),它返回布尔值。

答案 2 :(得分:0)

我认为您必须实现以下方法之一来仅检测单次触摸而不是用户执行的移动事件。

Gdx.input.justTouched();

答案 3 :(得分:0)

当你有多个演员时,我认为你在舞台上控制。