(初级程序员.入门级)HTML点击游戏上的保存/加载功能不起作用



从论坛网站和youtube学习的初学者,请耐心等待(加上im dumb(

我正在制作一个愚蠢的点击游戏,只是想看看我是否能做到(显然不能(。我有一些带有onclick函数和乘数设置的按钮,一切都很好。

直到保存/加载。

我遵循了我为保存功能找到的一个教程,通过localStorage/cookies保存/加载你的进度,它保存了总的";钱;(得分(刷新,但我的";每秒钟记分";每次通过按钮升级都不会保存,尽管我已经包含了它们的成本和名称值来告诉我要保存哪些变量。我正在使用带有Live Server扩展的VS代码进行测试(firefox(。

function loadGame() {
var savedGame = JSON.parse(localStorage.getItem("gameSave", "score", "scorepersecond", "cursors", "cursorcost", "lighters", "lightercost", "grinders", "grindercost", "devils", "devilcost", "trays", "traycost", "dealers", "dealercost"));
if (typeof savedGame.score !== "undefined") score = savedGame.score;
}
function saveGame() {

var gameSave = {
score: score,
scorepersecond: scorepersecond,
clickingPower: clickingPower,
cursors: cursors,
cursorcost: cursorcost,
lighters: lighters,
lightercost: lightercost,
grinders: grinders,                
grindercost: grindercost,
devils: devils,
devilcost: devilcost,
trays: trays,
traycost: traycost,
dealers: dealers,
dealercost: dealercost,

};
localStorage.setItem("gameSave", JSON.stringify(gameSave));
document.getElementById("score").innerHTML = score;
document.getElementById("scorepersecond").innerHTML = scorepersecond;
document.getElementById("cursorcost").innerHTML = cursorcost;
document.getElementById("cursors").innerHTML = cursors;
document.getElementById("lightercost").innerHTML = lightercost;
document.getElementById("lighters").innerHTML = lighters;
document.getElementById("grindercost").innerHTML = grindercost;
document.getElementById("grinders").innerHTML = grinders;
document.getElementById("devilcost").innerHTML = devilcost;
document.getElementById("devils").innerHTML = devils;
document.getElementById("traycost").innerHTML = traycost;
document.getElementById("trays").innerHTML = trays;
document.getElementById("dealercost").innerHTML = dealercost;
document.getElementById("dealers").innerHTML = dealers;
}
window.onload = function() {
loadGame();
updatescorepersecond();
document.getElementById("score").innerHTML = score;
document.getElementById("cursorcost").innerHTML = cursorcost;
document.getElementById("cursors").innerHTML = cursors;
document.getElementById("lightercost").innerHTML = lightercost;
document.getElementById("lighters").innerHTML = lighters;
document.getElementById("grindercost").innerHTML = grindercost;
document.getElementById("grinders").innerHTML = grinders;
document.getElementById("devilcost").innerHTML = devilcost;
document.getElementById("devils").innerHTML = devils;
document.getElementById("traycost").innerHTML = traycost;
document.getElementById("trays").innerHTML = trays;
document.getElementById("dealercost").innerHTML = dealercost;
document.getElementById("dealers").innerHTML = dealers;

};

我试过了。

function loadGame() {
var savedGame = JSON.parse(localStorage.getItem("gameSave"));
if (typeof savedGame.score !== "undefined") score = savedGame.score;
}
function loadGame() {
var savedGame = JSON.parse(localStorage.getItem("gameSave"));
if (typeof savedGame.score !== "undefined") score = savedGame.score;
if (typeof savedGame.scorepersecond!== "undefined") scorepersecond = savedGame.scorepersecond;
}

连同我想保存的其他变量;(也已失败的"类型"。

不确定这个位是否真的有任何意义,但如果我检查页面上的元素并访问本地存储,它会以适当的值每30秒更新一次,但在页面刷新时,它会变差(页面顶部的总"钱"(分数(除外(。

不确定人们需要看什么,也不知道我是否分享了足够的东西,但如果有人能在不成为d包的情况下提供帮助,那就太酷了:(即使不是为了解决它,但除了整个事情之外,我还想知道我在哪里。提前感谢lmk,如果你需要看更多我的大便点击游戏。

使用getItem()只能获得一个值。

如果您想获得所有值的json对象,只需使用localStorage

一个存储对象,可用于访问当前原点的本地存储空间。

var savedGame = localStorage;

参考:

  • getItem((
  • 本地存储

最新更新