我有一个loadFile错误。 LUA

时间:2014-04-21 23:29:50

标签: lua corona

我试图在我的游戏中实现一个高分系统,但是当我尝试声明我的高分榜loadFile时,我得到了这个错误。

Attempt to call global 'loadFile' (a nil value)

这是我的代码。

highscore = loadFile ("highscore.txt")

local function checkForFile ()
    if highscore == "empty" then
        highscore = 0
        saveFile("highscore.txt", highscore)
    end
end
checkForFile()

print ("Highscore is", highscore)

local function onSystemEvent ()
    if playerScore > tonumber(highscore) then
        --We use tonumber as highscore is a string when loaded
        saveFile("highscore.txt", score)
    end
end
Runtime:addEventListener( "system", onSystemEvent )

我正在使用Corona SDK。

2 个答案:

答案 0 :(得分:3)

the corona的开发人员发表了关于保存和写入文件的好guide,这应该可以满足您的需求。

基本上你通过 system.pathForFile 获取路径,然后使用 io.open 打开它。

你会这样做:

local path = system.pathForFile( "highscore.txt", system.DocumentsDirectory )
local file = io.open(path, 'w+')

然后,获取文件的内容:

local content = file:read('*a')
local highscore

if (content ~= null)
    highscore = tonumber(content)
    // do stuff with the loaded highscore
end

并写入文件:

file:write(highscore)

答案 1 :(得分:1)

您要加载的文件不是Lua文件,而是文本文件。所以即使它存在,使用loadfile也毫无意义。请改为io.read file:readfile:lines(其中fileio.open()返回的对象。)