Я работаю над файлом сохранения для своей игры. Сохранить файл работает, и console.log отображает правильные значения:Установите данные из localStorage, когда пользователь подключен
function saveGame(){
localStorage.setItem('game', JSON.stringify(game));
}
function loadGame(){
var retrievedObject = localStorage.getItem('game');
console.log('retrievedObject: ', JSON.parse(retrievedObject));
}
Изображение журналов: https://s28.postimg.org/bslusmagt/Untitled.png
Я еще новичок на все это, как я начал изучать JS пару месяцев тому назад. Сейчас я предполагаю, что когда страница загружена, я должен установить все эти значения. Попытка следующей вещи я получаю «нуль» в console.log
console.log(JSON.parse(localStorage.getItem('game.plutonium')));
я думал, что значения могут быть установлены что-то вроде:
game.plutonium = localStorage.getItem('game.plutonium');
Но это не работает. Что тут трюк?
Вот мой полный код JS, на всякий случай: http://pastebin.com/yM2wz410
значения определяются из строки 1 и сохранить/загрузить файл на линии 350-356. Почему мой метод не работает?
function saveGame(){
var savefile = JSON.stringify(game);
localStorage.setItem("game", savefile);
}
function loadGame(){
var savefile = localStorage.getItem("game");
if (savefile === null) {
return;
}
game = JSON.parse(savefile);
}
Метод выше, кажется, полностью решил проблему. Спасибо :)
мне удалось заставить его работать с функции сохранений() { \t вар SAVEFILE = JSON.stringify (игра); \t localStorage.setItem («игра», savefile); } функция loadGame() { \t var savefile = localStorage.getItem ("game"); \t game = JSON.parse (savefile); } Но проблема теперь возникает в игре gamestart. Если i loadGame и localStorage пустая игра не работает. если я сначала сохранюGame, то я всегда буду переопределять сохраненные данные ... Я пытаюсь найти работу с помощью boolean – MiloSx7
, вам нужно будет проверить, действительно ли элемент, который вы получаете из localStorage, уже существует, и только затем загружать его в свой игровой объект. Если он не существует ('getItem()' возвращает null), заполните ваш игровой объект некоторыми значениями по умолчанию (без сохранения игры, первый запуск) –
Спасибо, теперь это работает. Приятного человека дня! – MiloSx7