Java LibGDX flappy bird克隆,场景2D演员(按钮)

Java LibGDX flappy bird克隆,场景2D演员(按钮),java,android,libgdx,flappy-bird-clone,Java,Android,Libgdx,Flappy Bird Clone,所以,我正在开发一个flappy鸟克隆。我创造了一个按钮,可以弹起鸟。我还想为这个按钮画一些东西(在这一点上完全不相关)。但不是每次按下按钮时。我已经试过了: if (Gdx.input.isTouched()) { batcher.draw(birdRed, bird.getX(), bird.getY(), bird.getWidth() / 2.0f, bird.getHeight() / 2.0f, bird.getWidth(), bir

所以,我正在开发一个flappy鸟克隆。我创造了一个按钮,可以弹起鸟。我还想为这个按钮画一些东西(在这一点上完全不相关)。但不是每次按下按钮时。我已经试过了:

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);
    }
但这就是我现在想要的。我特别想在第一次按下按钮时画一些东西。我希望你能理解我的问题。谢谢您的帮助。

如果您使用,那么您可以处理更改事件并使用一些布尔标志来保持它的第一次按下状态

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);
}
private boolean wasPressed = false;
按钮初始化代码中的某处:

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

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

为了让你免于所有的麻烦,我知道这可能不是你想要的答案,但是有一个关于kilobolt的flappy bird clone的很棒的教程,这是一个非常非常非常好的教程,我认为他的所有方法都与最初的非常相似。希望有帮助:)是的,我知道这篇教程对我帮助很大。无论如何,谢谢你。