lua如何在遊戲中保存上一次遊戲狀態

一般在小型單機遊戲中會有保存上次玩家的遊戲狀態,那麼該怎麼做呢,一般方法會想到利用文件保存。在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

--整個流程就這樣的


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章