1

我目前正在使用 Javascript 或更准确地说是 CraftyJS 制作马里奥风格的游戏。

我已将此处作为参考,并了解如何保存用户输入的值。但我想要完成的是自动保存某些布尔值(它们被称为什么?),或者当玩家按下保存按钮或其他东西时。

例如,我有一个名为 dungeon1 的地下城,我创建了一个变量来表示地下城是否已完成。

var dungeon1 = false;默认情况下。

但是当玩家完成 dungeon1 时,它会变为var dungeon1 = true;,从而在世界地图中添加新内容,例如通往 dungeon2 的门户(这工作正常)。

我要保存的是这条var dungeon1 = true;语句,这样当用户再次打开游戏时,完成的地牢就会被加载并正确显示相应的解锁。我该怎么做?有没有办法说,制作一个名为 的保存管理文件save.js,然后在它们变为 时存储上述布尔值true

4

1 回答 1

0

您只需存储所需的布尔值的字符串版本。

所以存储“true”和“false”,而不是像 if(variable) 那样检查,你必须以 if(variable === "true") 的形式检查。它有点笨拙,但您可以看到它并没有真正为您的代码增加更多复杂性。

如果这种类型的 if 检查只是冒犯了您的敏感性,那么在您从 localStorage “获取”它的代码中,您可以将其重新转换为布尔值。

var bool = (localStorage.getItem("myItem") === "true")

PS。你可以用布尔值 setItem ......它只会将它们转换为字符串:D 因为如果它们还不是字符串,它会调用 toString() 来存储它们。

所以你可以这样做:

enter code herelocalStorage.setItem("myItem", true)

于 2013-12-12T05:02:32.457 回答