2016-05-31 94 views
0

當我在桌面上測試我的遊戲時,首選項工作正常,輸出正確的分數和高分,但是當我在移動設備上運行時,值不保存,兩個分數都顯示爲0。錯誤也。只需要一些幫助來嘗試解決這個問題。謝謝alex。Libgdx首選項無法在移動設備上工作

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

GAMEOVER屏幕

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()); 

     } 

回答

2

你需要把一個值喜好之後調用flush()方法 - 它會導致commiting數據到內存

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

的看看official wiki

相關問題