[英]Adding a high score to local storage
我想給我的游戲增加一個高分。 現在我有這個:
var score = 0;
var highscore = 0;
score變量有效,但是每當我獲得積分時,總分為60分,它表示使用console.log(highscore)
檢查時,高分仍為零。
我有這個來存儲高分:
if (score > localStorage.getItem("highscore")) {
localStorage.setItem("highscore", score);
}
這不能正常工作,但是也不會出現任何錯誤。
除了parseInt
,您還需要首先在localStorage
上設置init值,因為如果未設置localStorage.getItem("highscore",10)
不會返回10作為默認值。
var score = 0;
var highscore = 0;
localStorage.setItem("highscore",0);
因為當你檢查
if (score > parseInt(localStorage.getItem("highscore"))) {
localStorage.setItem("highscore", score);
}
如果尚未設置該項,則localStorage.getItem("highscore")
將返回null。 或者,您也可以執行以下操作:
var storagedHighScore = localStorage.getItem("highscore");
if (storagedHighScore || score > parseInt(storagedHighScore)) {
localStorage.setItem("highscore", score);
}
嘗試這個:
var score = 0;
var highscore = localStorage.getItem("highscore");
if(highscore !== null){
if (score > highscore) {
localStorage.setItem("highscore", score);
}
}
else{
localStorage.setItem("highscore", score);
}
您需要使用以下命令從localStorage檢索值
highscore = +localStorage.getItem("highscore")
或一些等效的代碼。 localStorage
項目不會跟蹤具有相同名稱的全局變量。
我剛剛在http://jsfiddle.net/unb8yLj3/中查看了您的代碼,但找不到增加分數的部分,所以當這部分代碼運行分數為0且localStorage.getItem(“ highscore”)為10時因此它沒有設置高分。
if (score > localStorage.getItem("highscore")) {
localStorage.setItem("highscore", score);
}
}
是否有另一個js文件可以提高得分?
if (score > parseInt(localStorage.getItem('highscore'), 10)) {
localStorage.setItem('highscore', score);
}
比較之前將其轉換為int。 它的字符串
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.