Обходной путь для неспособности сохранить логические значения с HTML5 Web Storage

В настоящее время я делаю игру в стиле марио с использованием Javascript или, точнее, CraftyJS.

Я посмотрел здесь в качестве ссылки, и понимаю, как сохранить значения, введенные пользователем. Но то, что я хочу сделать, - это автоматически сохранять определенные логические значения (это то, что они называются?), Или когда игрок нажимает кнопку сохранения или что-то в этом роде.

Например, у меня есть подземелье под названием dungeon1, и я создаю переменную, которая показывает, было ли подземелье завершено.

Это var dungeon1 = false; по умолчанию.

Но когда игрок завершает dungeon1, он меняется на var dungeon1 = true;В результате появились новые дополнения к карте мира, такие как портал к dungeon2(это работает нормально).

Что я хочу сохранить это var dungeon1 = true; Это означает, что когда пользователь снова откроет игру, загруженные подземелья будут загружены, и соответствующие разблокировки будут показаны правильно. Как бы я это сделал? Есть ли способ сказать, сделать файл управления сохранением под названием save.jsзатем сохраните логические значения, такие как приведенные выше, как только они станут true?

1 ответ

Вы бы просто сохранили нужную вам строковую версию логического значения.

Поэтому сохраняйте "true" и "false", и вместо проверки точно так же, как if(переменная), вам придется проверять в форме if(variable === "true"). Это немного дерзко, но вы можете видеть, как это не добавляет сложности вашему коду.

Если этот тип проверки просто оскорбляет ваши чувства, то в коде, где вы "получаете" его из localStorage, вы можете затем преобразовать его в логическое значение.

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

PS. вы можете установить Item с логическими значениями... он будет просто приводить их к строкам:D, потому что большинство вещей, которые он вызывает toString() для хранения их, если они еще не являются строками.

Так что вы можете сделать:

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

Другие вопросы по тегам