我目前正在使用Javascript或更确切地说是CraftyJS进行马里奥式游戏。
我看了here作为参考, 并了解如何保存用户输入的值。 但我想要实现的是自动保存某些布尔值(就是它们被称为?),或者当玩家按下保存按钮或其他东西时。
例如,我有一个名为dungeon1的地牢,我创建了一个变量来表示地下城是否已经完成。
默认情况下为var dungeon1 = false;
。
但是当玩家完成dungeon1时,它会变为var dungeon1 = true;
,
导致世界地图的新增加,例如dungeon2的入口(这很好)。
我要保存的是这个var dungeon1 = true;
声明,这样当用户再次打开游戏时,将加载已完成的地下城并正确显示相应的解锁。我该怎么办?
有没有办法说,创建一个名为save.js
的保存管理文件,然后在它们成为true
后存储上面的布尔值?
答案 0 :(得分:0)
您只需存储所需布尔值的字符串版本。
因此存储“true”和“false”,而不是像if(变量)一样检查,你必须以if(变量===“true”)的形式检查。它有点令人讨厌,但你可以看到它并没有真正为你的代码增加更多的复杂性。
如果这种类型的if检查只是冒犯了你的敏感度,那么在你从localStorage“获取”它的代码中,你可以将它重新设置为布尔值。
var bool = (localStorage.getItem("myItem") === "true")
PS。你可以使用布尔值设置setItem ...它只会将它们转换为字符串:D因为大多数事情它调用toString()来存储它们,如果它们不是字符串的话。
所以你可以这样做:
enter code here
localStorage.setItem(“myItem”,true)