LibGDX flappy bird clone,Scene2d actor(按钮)

时间:2014-08-14 15:49:49

标签: java android libgdx flappy-bird-clone

所以,我正在开发一个脆弱的鸟类克隆。我创造了一个弹跳鸟的按钮。我也想要这个按钮就是绘制一些东西(此时完全无关紧要)。但不是每次按下按钮。我已经尝试过这个:

if (Gdx.input.isTouched()) {
        batcher.draw(birdRed, bird.getX(), bird.getY(),
        bird.getWidth() / 2.0f, bird.getHeight() / 2.0f,
        bird.getWidth(), bird.getHeight(), 1, 1, 1);
    }

但现在这就是我想要的。我想特别想在第一次按下按钮时绘制一些东西。我希望你理解我的问题。谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

boolean touched = false;

...

if (Gdx.input.isTouched() && !touched) {
    touched = true;
    batcher.draw(birdRed, bird.getX(), bird.getY(),
    bird.getWidth() / 2.0f, bird.getHeight() / 2.0f,
    bird.getWidth(), bird.getHeight(), 1, 1, 1);
}

答案 1 :(得分:0)

如果使用button actor,则可以处理更改事件并使用一些布尔标志来保持第一次按下状态。

private boolean wasPressed = false;

按钮初始化代码中的某处:

Button pushBirdButton = new Button();
pushBirdButton.addListener(new ChangeListener() {
    @Override
    public void changed(ChangeEvent event, Actor actor) {
        wasPressed = true;
    }
});

然后你可以随时检查按钮是否被按下。