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 に答える