2015-07-31 3 views
-1

У меня есть игра HTML5, которая развивается на Backbone. Он использует локальное хранилище, когда вы хотите использовать меню редактирования и редактировать мир. Также вы можете изменить своего персонажа с помощью этого меню. Поэтому я хочу добавить символ перед началом игры, но я действительно не знаю, как вставить его в файл. файла выглядит следующим образом:Сохраните данные в json-файле в локальном хранилище

3:"{"viewportBottom":0,"id":3,"tiles":[],"x":0,"y":0,"tileWidth":32,"tileHeight":32,"width":212,"height":17,"backgroundColor":"rgba(66, 66, 255, 1)","name":"level_1-1","sprites":[ 
{"name":"ground-ug","state":"idle","sequenceIndex":0,"x":32,"y":512}, 
{"name":"ground-ug","state":"idle","sequenceIndex":0,"x":0,"y":512}, 
{"name":"ground-ug","state":"idle","sequenceIndex":0,"x":64,"y":512}, 
{"name":"ground-ug","state":"idle","sequenceIndex":0,"x":128,"y":512}, 
{"name":"luigi","state":"idle-right","sequenceIndex":0,"x":192,"y":448,"velocity":0,"acceleration":0,"yVelocity":0,"yAcceleration":0} 
],"savedOn":"2015-07-31T14:29:08.725Z","state":"play","viewportTop":0,"viewportRight":0,"viewportLeft":0,"time":748}" 

Например, я хочу изменить Луиджи Марио, но я действительно нуб с этим.

 <p id="Character" onclick="choose('mario')">Mario</p> 

     <script> 

      var character; 
function choose(choice){ 
    character = choice; 
} 


      var parsed = JSON.parse(myJSONData, function(k, v) { 
        if (v === "mario") 
         this.value = character; 
        else 
         return v; 
       }); 
    } 
     </script> 

BTW это не работает: D Также я не знаю, как сохранить его в локальном хранилище. Я искал документацию, и я не намного умнее: D Документация для этой основы на основе основы: http://martindrapeau.github.io/backbone-game-engine/

Помог бы мне кто-нибудь? :) Спасибо.

+0

Так будет дело. Разберите объект, который держит статистику игры с json. И сохраните его в локальном хранилище, поскольку локальное хранилище принимает только пары ключевых значений. – fubbe

ответ

1

Чтобы сохранить что-то для локального хранения:

localStorage.variableName = 'value'; 

Обратите внимание, что локальное хранилище позволяет только работать с strings, поэтому хранение данных в формате JSON означает выполнение JSON.stringify(data).

Извлечение из локального хранилища так же легко, как:

var dataStr = localStorage.variableName; 
+0

Ну да, но он уже хранится в локальном хранилище. Мне нужно изменить стоимость от Марио до Луиджи. – Mattthev

+0

Добавьте 'console.log (parsed);' под вашим вызовом 'JSON.parse' и опубликуйте результат здесь – boylett

+0

Хорошо, я пишу это плохо. Ключ просто «3», а значение целое: (edit) Это слишком долго, но это то, что я публикую в первом сообщении. Мне нужно изменить luigi в mario или что-то еще, но весь код является значением, ключевым является «3». – Mattthev

Смежные вопросы