2016-06-24 117 views
1

每當我使用保存按鈕和加載按鈕(他們的工作),但停止遊戲。當我點擊加載後,遊戲凍結,按鈕和動畫工作,但遊戲凍結,我不能得到XP或黃金。localStorage命令停止程序

我的代碼:

function save(){ 
    localStorage["gold"] = gold; 
    localStorage["goldmax"] = goldmax; 
    localStorage["food"] = food; 
    localStorage["foodmax"] = foodmax; 
    localStorage["wood"] = wood; 
    localStorage["woodmax"] = woodmax; 
    localStorage["stone"] = stone; 
    localStorage["stonemax"] = stonemax; 
    localStorage["iron"] = iron; 
    localStorage["ironmax"] = ironmax; 
    localStorage["level"] = level; 
    localStorage["xp"] = xp; 
    localStorage["xpN"] = xpN; 
    localStorage["xpgained"] = xpgained; 
    localStorage["questpoint"] = questpoint; 
    localStorage["questpointspeed"] = questpointspeed; 
    localStorage["buildQueue"] = buildQueue; 
    localStorage["buildSpeed"] = buildSpeed; 
    localStorage["heroxp"] = heroxp; 
    localStorage["herolevel"] = herolevel; 
    localStorage["skillpoint"] = skillpoint; 
    spop("Game has been successfully saved!") 
} 
function load(){ 
    if (localStorage.getItem("gold") === null){ 
    spop('<strong>Save file has been corrupted!</strong>', 'error'); 
    } 
    if (localStorage.getItem("gold") !== null){ 
    gold =   localStorage["gold"]; 
    goldmax =   localStorage["goldmax"]; 
    food =   localStorage["food"]; 
    foodmax =   localStorage["foodmax"]; 
    wood =   localStorage["wood"]; 
    woodmax =   localStorage["woodmax"]; 
    stone =   localStorage["stone"]; 
    stonemax =  localStorage["stonemax"]; 
    iron =   localStorage["iron"]; 
    ironmax =   localStorage["ironmax"]; 
    level =   localStorage["level"]; 
    xp =    localStorage["xp"]; 
    xpN =    localStorage["xpN"]; 
    xpgained =  localStorage["xpgained"]; 
    questpoint =  localStorage["questpoint"]; 
    questpointspeed = localStorage["questpointspeed"]; 
    buildQueue =  localStorage["buildQueue"]; 
    buildSpeed =  localStorage["buildSpeed"]; 
    heroxp =   localStorage["heroxp"]; 
    herolevel =  localStorage["herolevel"]; 
    skillpoint =  localStorage["skillpoint"]; 
    spop("Game has been successfully loaded!") 
    } 
} 
+0

是否有發展控制檯任何錯誤? – MrOnlineCoder

+0

拿出來,gold.toFixed(2)不是函數。是否因爲localStorage將它存儲爲字符串?或者其他的東西 ? – killereks

+0

是的,localStorage將所有數據存儲在字符串中。你能告訴我們導致錯誤的代碼的一部分嗎? – MrOnlineCoder

回答

0

的localStorage保存在字符串的所有數據。 JSFiddle

所以,你必須把它轉換爲數字:

parseInt(localStorage["gold"]); 
+1

你的小提琴不工作:)請在你的小提琴包裝頭中的JavaScript :) 然後你的小提琴將工作。 –

+0

請現在試試。 – MrOnlineCoder

+0

仍然無法使用!使用這個小提琴來代替[JsFiddle](https://jsfiddle.net/1dcs90c2/7/):) –