私のゲームには、3つの状態、実行中の状態、一時停止状態、およびgameOverがあります。 3つすべてが整数変数gameState
によって監視されます。一時停止ボタンを押すと、状態は1(一時停止)に切り替わります。実行中にボタンをクリックするとすべて正常に動作しますが、gameOver状態でボタンを押すと、レンダリングメソッドで設定された条件が無視されます。一時停止状態にする必要がありますボタンは罰金を表示することになっているよう LibGDXレンダリングメソッドが正しく更新されていませんか?
if(gameState == 1)
sb.draw(pausemenu, cam.position.x - 315,cam.viewportHeight/2 - 625/2, 625, 625);
table.setPosition(cam.position.x, 560);
if(gameState == 2){
sb.draw(gameover, cam.position.x - gameover.getWidth()/2 - 85 , cam.viewportHeight/2 - gameover.getHeight()/2, 600, 500);
highScoreFont.draw(sb, "Highscore: " + highScore, cam.position.x - highScoreFont.getScaleX()/2 - 250 , cam.viewportHeight - 425, 500, Align.center, true);
coinsFont.draw(sb, coins, cam.position.x - 201, cam.viewportHeight - 590, 500, Align.center, false);
sb.draw(coin, cam.position.x - layout.width/2 - 51, cam.viewportHeight - 660, 90, 90);
restartButton.setPosition(cam.position.x - restartButton.getWidth()/2, 525);
}
私はボタンを押す
は、音が、演奏されますが、ポーズメニューが描かれていないとゲームオーバー1はdissapearingされていません。私は何が欠けていますか? 更新方法:if(gameState == 0 && tableVisible){
table.setVisible(false);
pauseButton.setVisible(true);
tableVisible = false;
restartVisible = false;
}
else if(gameState == 2 && !restartVisible) {
restartButton.setVisible(true);
restartVisible = true;
layout.setText(coinsFont, getCoins() + "");
}
else if(gameState == 1) {
if(restartVisible) {
restartButton.setVisible(false);
}
pauseButton.setVisible(false);
if(!tableVisible) {
table.setVisible(true);
tableVisible = true;
}
}
表示されたコードは問題の診断に役立つものではないため、ボタンクリックのコードを投稿できますか? – dfour
一時停止ボタンは単にサウンドを再生します。gameState = 1 – vladutelu
投稿されたコードは上手く見えますが、エラーはどこか他の場所にある必要があります。他の場所でgameStateをチェックしていますか? – dfour