一般在小型单机游戏中会有保存上次玩家的游戏状态,那么该怎么做呢,一般方法会想到利用文件保存。在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
--整个流程就这样的