Сохранение состояния короны SDK с использованием JSON для возврата переменных

Привет, я создаю приложение, используя Corona SDK, который является интерактивной книгой. Что мне нужно сделать, это сохранить текущие переменные и затем загрузить внешний файл при запуске, содержащий сцену, в которой находится пользователь, а также уже сделанные выборы. Я храню все это как глобальные переменные, причем каждому выбору присваивается значение 0 или 1, а имя сцены сохраняется в массиве с обозначенным номером, т.е. сцена 1 = 1 в массиве. Любая помощь будет невероятно оценена. Заранее спасибо.

1 ответ

Создайте таблицу с переменными, которые вы хотите сохранить, и используйте эти две функции, чтобы сохранить таблицу в файле, прочитать файл и вернуть сохраненную таблицу.

local function write(table, fileName)
    local filePath = system.pathForFile( fileName, system.DocumentsDirectory )
    local file = io.open( filePath, "w" )
    local encodedTable = json.encode(table)
    file:write(encodedTable)
    io.close( file )
end

local function read(fileName)
    local filePath = system.pathForFile( fileName, system.DocumentsDirectory )
    local file = io.open( filePath, "r" )

    if file then
        local contents = file:read("*all")
        local decodedTable = json.decode(contents)

        io.close( file )
        return decodedTable
    else
        return false
    end
end
Другие вопросы по тегам