0

所以,我正在开发一个飞扬的鸟克隆。我创建了一个弹跳鸟的按钮。我还想要这个按钮是画一些东西(在这一点上完全不相关)。但不是每次按下按钮。我已经尝试过:

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);
    }

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

4

2 回答 2

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);
}
于 2014-08-14T15:56:08.420 回答
0

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

private boolean wasPressed = false;

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

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

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

于 2014-08-14T16:06:35.317 回答