一般在小型單機遊戲中會有保存上次玩家的遊戲狀態,那麼該怎麼做呢,一般方法會想到利用文件保存。在lua開發中,都以lua文件來配置遊戲數據,所以,我們在保存遊戲狀態的時候,我們也用lua文件作爲保存文件。
大概流程如下
function game:load()
local f = dofile(filePath) -- 生成一張表lua
for _, t in pairs(f) do
--把加載進來的數據利用到遊戲中
--比如座標,障礙物等等
--self:reset()遊戲數據配置
end
end
function game:open()
local fileHandle = io:open(filePath)
io:write("return {") --返回一個table
--todo
--這裏添加的是程序猿要保存的數據(要寫入到文件中的,在遊戲過程中都會時刻或者隔一段時間
--保存用戶數據)
io:write("}") --之所以這樣寫,是因爲我們要保存lua格式的文件
io:close()
end
function game:save(fileHandle)
for _, t in pairs(param) do --保存的數據變量進行遍歷保存
--把加載進來的數據利用到遊戲中
--比如座標,障礙物等等
--
fileHandle:write(...) --寫入數據到數據文件中
end
--more data to save
end
function game:reset()
--進行遊戲設置
end
--整個流程就這樣的