0

私はLibgdxフレームワークを使用してカーレースゲームを作成しています。ゲームが終了すると、ゲームオーバー画面に再試行ボタンがあり、そのボタンをクリックすると、ゲームを再開したいゲームプレイ画面に移動しますが、発生しません。ゲームプレイ画面に表示される画面は、ゲームオーバー時の最後の画面です。

private void updateGameOver() {

    if(Gdx.input.justTouched()){
        guiCam.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0));
        if(OverlapTester.pointInRectangle(resumeButtonBounds, touchPoint.x, touchPoint.y)){
            state = GAME_RUNNING;
            return;
        }

}

}
private void presentGameOver() {

    spriteBatch.draw(Assets.retryButtonRegion, 480 / 2 - 183 / 2, 800 / 2 - 185, 183, 90);


}
4

2 に答える 2

1

あなたの場合、車などのすべてのゲーム要素のインスタンスを実行するように状態を設定すると、リセットされません。

ゲーム画面のコンストラクターを呼び出す必要があります

private void updateGameOver() {
if(Gdx.input.justTouched()){
    guiCam.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0));
    if(OverlapTester.pointInRectangle(resumeButtonBounds, touchPoint.x, touchPoint.y)){
        game.setscreen(new GameScreen(game,batcher));
        return;
    }

これで問題が解決するはずです。

于 2013-06-25T07:10:40.030 に答える
0

Button に Clicklistener を追加し、そこにメソッドを実装します。Sceen2D wiki を見てみましょう。それ以外の
場合は、値が得られるかどうかを確認してください。したがって、If ステートメント内にロガーを追加し、ログを取得するかどうかを確認してください。( Gdx.app.log("",""))

于 2013-06-24T20:30:49.743 に答える