Libgdx首选项在移动设备上不起作用

Libgdx首选项在移动设备上不起作用,libgdx,Libgdx,当我在桌面上测试我的游戏时,prefs工作正常,正确的分数和highscore被输出,但当我在移动设备上运行时,数值不保存,两个分数都显示为0。也没有错误。只是需要一些帮助来解决这个问题。谢谢你,亚历克斯 pref = Gdx.app.getPreferences("Scores"); if(pref.contains("Score") == false) { pref.putInteger("Score", 0); if(pre

当我在桌面上测试我的游戏时,prefs工作正常,正确的分数和highscore被输出,但当我在移动设备上运行时,数值不保存,两个分数都显示为0。也没有错误。只是需要一些帮助来解决这个问题。谢谢你,亚历克斯

 pref = Gdx.app.getPreferences("Scores");
        if(pref.contains("Score") == false) {
            pref.putInteger("Score", 0);
            if(pref.contains("HighScore") == false){
                pref.putInteger("HighScore", 0);
            }
        }

游戏覆盖屏幕

pref = Gdx.app.getPreferences("Scores");
score = pref.getInteger("Score");
highScore = pref.getInteger("HighScore");

if(score > highScore){
    pref.putInteger("HighScore", score);
    highScore = score;
}

当玩家死亡时运行此命令

public void updateScore(){
        if (pref.contains("Score") == true){
        }
            pref.putInteger("Score", hud.getScore());

        }

在将值放入首选项后,需要调用
flush()
方法-这会导致将数据提交到内存

    pref.putInteger("Score", hud.getScore()).flush();

在将值放入首选项后,还需要调用
flush()
方法,这会导致将数据提交到内存中

    pref.putInteger("Score", hud.getScore()).flush();
这张照片也看了一眼