为什么没有touchUp方法触发?

时间:2017-02-21 10:37:27

标签: java libgdx

table.setPosition(0, 0);
table.setBounds(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
table.setTouchable(Touchable.enabled);
table.addListener(new ClickListener(){
    @Override
    public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
        System.out.println("me working");
        nextPhrase();
    }
});
stage.addActor(table);

touchUp方法不会触发。表包含图像和标签并填充屏幕。我需要nextPhrase()方法在触摸屏幕时触发。我该怎么办?

2 个答案:

答案 0 :(得分:3)

我不知道您的完整代码,但我认为您忘记更新Stage。如果是,请将其放在渲染/更新方法上。这样做是为了更新舞台内的所有Actors

stage.act();

另外,不要忘记将输入处理器设置为读取用户的输入。

Gdx.input.setInputProcessor(stage);

答案 1 :(得分:0)

如果touchDown返回true,则仅触发touchUp。否则,不再跟踪触摸。

我建议实施“点击”功能,而不是touchUp功能,它可以为您处理。