JavaScript 用于吃豆子游戏的 localStorage
JavaScript localStorage for pacman game
我正在尝试学习如何使用 localStorage
玩吃豆人游戏。
这个想法是一个 pacman 吃了一个小球,然后将其从页面中删除并将其添加到 localStorage
,这样您刷新页面时小球仍然消失了。
我的问题是只能从密钥列表中取回最后一个密钥 ID,但我想要的是一个数组来存储所有数字并将它们全部取回。
我的代码如下:
for (var j in key_list) {
keyId = key_list[j].GetUserData().val;
stage.removeChild(pacdotsE[keyId]);
world.DestroyBody(key_list[j]);
//console.log(keyId);
localStorage.setItem("key_list",keyId);
}
key_list.length = 0;
function readStorage() {
console.log(localStorage.getItem("key_list"));
keyId = localStorage.getItem("key_list");
}
问题是在 localStorage 中你只写了最新的 keyId。
for (var j in key_list) {
...
localStorage.setItem("key_list",keyId);
}
你可以做的是将数组保存为键的字符串,如下所示:
for (var j in key_list) {
...
keyIdArr.push(keyId)
localStorage.setItem("key_list",keyIdArr.toString());
}
您必须将键提取到数组中,然后将其放入 localStorage
。
一种方法是:
localStorage.setItem('key_list', key_list.map(x => x.GetUserData().val))
我正在尝试学习如何使用 localStorage
玩吃豆人游戏。
这个想法是一个 pacman 吃了一个小球,然后将其从页面中删除并将其添加到 localStorage
,这样您刷新页面时小球仍然消失了。
我的问题是只能从密钥列表中取回最后一个密钥 ID,但我想要的是一个数组来存储所有数字并将它们全部取回。
我的代码如下:
for (var j in key_list) {
keyId = key_list[j].GetUserData().val;
stage.removeChild(pacdotsE[keyId]);
world.DestroyBody(key_list[j]);
//console.log(keyId);
localStorage.setItem("key_list",keyId);
}
key_list.length = 0;
function readStorage() {
console.log(localStorage.getItem("key_list"));
keyId = localStorage.getItem("key_list");
}
问题是在 localStorage 中你只写了最新的 keyId。
for (var j in key_list) {
...
localStorage.setItem("key_list",keyId);
}
你可以做的是将数组保存为键的字符串,如下所示:
for (var j in key_list) {
...
keyIdArr.push(keyId)
localStorage.setItem("key_list",keyIdArr.toString());
}
您必须将键提取到数组中,然后将其放入 localStorage
。
一种方法是:
localStorage.setItem('key_list', key_list.map(x => x.GetUserData().val))