JavaScript localStorage для pacman игры - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь узнать, как использовать localStorage для игры pacman.

Идея состоит в том, что один пакман ест шарик, который удаляет его со страницы и добавляет его к localStorage, поэтому вы обновляете страницу, чтобы шарик все еще пропал.

Моя проблема в том, что я могу получить только последний Идентификатор ключа из списка ключей, но мне нужен массив для хранения всех чисел и их возврата.

Мой код ниже:

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");


}

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Вы должны извлечь ключи в массив и затем поместить их в localStorage.

Один из способов сделать это:

localStorage.setItem('key_list', key_list.map(x => x.GetUserData().val))
0 голосов
/ 30 октября 2018

Проблема в том, что в localStorage вы пишете только последний ключевой идентификатор.

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());
}
...