所以我正在开发这个游戏,并且我遇到了保存系统的问题。当我尝试保存和加载游戏时,我得到的 playerLevel
为 NaN
,或者不是数字。我知道这是为什么,这是因为输出是引号内的数字。我需要知道是否有任何方法可以将变量设置为等于被回调的同一变量。如果您不明白我的问题,这是我的代码:
function saveGame() {
localStorage.setItem("PLAYERLEVEL", playerLevel);
localStorage.setItem("PLAYERATTACK", Attack);
localStorage.setItem("PLAYERDEFENSE", Defense);
localStorage.setItem("PLAYERAGILITY", Agility);
localStorage.setItem("PLAYERCOINS", Coins);
localStorage.setItem("PLAYERHEALSLEFT", healsLeft);
localStorage.setItem("PLAYERPOSSHEALS", possHealsLeft);
localStorage.setItem("PLAYERLIVESLEFT", livesLeft);
};
function loadGame() {
playerLevel = localStorage.getItem("PLAYERLEVEL");
Attack = localStorage.getItem("PLAYERATTACK");
Defense = localStorage.getItem("PLAYERDEFENSE");
Agility = localStorage.getItem("PLAYERAGILITY");
Coins = localStorage.getItem("PLAYERCOINS");
healsLeft = localStorage.getItem("PLAYERHEALSLEFT");
possHealsLeft = localStorage.getItem("PLAYERPOSSHEALS");
livesLeft = localStorage.getItem("PLAYERLIVESLEFT");
};
预先感谢您的帮助!
最佳答案
当您想要检索 localStorage
中的数值数据时,您需要将该值转换回数值(使用 parseInt() 或 parseFloat())到您需要的数据类型,因为 localStorage
将所有内容存储为字符串,因此请执行以下操作:
playerLevel = parseInt(localStorage.getItem('PLAYERLEVEL'));
关于javascript - 从 localStorage 检索数值数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28643851/