【发布时间】:2019-09-06 08:04:28
【问题描述】:
我想在我用 libGDX 制作的游戏中保存一个高分。
这是我的代码:
GameData.class:
public class GameData {
private static double highScore;
public static double getHighScore() {
return highScore;
}
public static void setHighScore(double hs) {
highScore = hs;
}
}
PlayState.class:
@Override
public void render(SpriteBatch sb) {
[...]
if(GameData.getHighScore() < score) {
GameData.setHighScore(score);
}
[...]
sb.end();
}
MenuState.class :
public class MenuState extends State {
private BitmapFont font = new BitmapFont();
private String HS = String.valueOf(GameData.getHighScore());
DecimalFormat df = new DecimalFormat("#.#");
@Override
public void render(SpriteBatch sb) {
sb.begin();
[...]
font.draw(sb, "Score : " + HS, 20, 400);
sb.end();
}
}
很遗憾,每次开始新游戏时,我的高分都会重置。 我的错误在哪里?我希望我的问题不是太愚蠢,并且我不会在这里忘记我的代码中的某些内容。在那种情况下请原谅我。
提前非常感谢您。 最好的祝福, 特内西弗
【问题讨论】: