2012-06-25 11 views
0

這裏是桃愛倫的ego.lua文件,其中讀取&寫入文件。但是,我不知道在哪裏把我的txt文件,以讀取和寫入它。我將該文件放入項目文件中,並將其拖入項目所在的電暈中。但是,它不會對這些更改做出反應。如何找到或放置文件以便能夠在Corona中讀寫?

module (..., package.seeall) 

    --Save function 
    function saveFile(fileName, fileData) 
     --Path for file 
     local path = system.pathForFile(fileName, system.DocumentsDirectory) 
     --Open the file 
     local file = io.open(path, "w+") 

    --Save specified value to the file 
     if file then 
      file:write(fileData) 
      io.close(file) 
     end 
    end 

    --Load function 
    function loadFile(fileName) 
    --Path for file 
    local path = system.pathForFile(fileName, system.DocumentsDirectory) 
    --Open the file 
    local file = io.open(path, "r") 

    --If the file exists return the data 
    if file then 
     local fileData = file:read("*a") 
     io.close(file) 
     return fileData 
    --If the file doesn't exist create it and write it with "empty" 
    else 
     file = io.open(path, "w") 
     file:write("empty") 
     io.close(file) 
     return "empty" 
    end 
end 

這是一個使用ego.lua,並儘量保持最高得分紀錄的main.lua文件:

--Hide the status bar 
display.setStatusBar(display.HiddenStatusBar) 

--Saving/Loading Stuff 
local ego = require "ego" 
local saveFile = ego.saveFile 
local loadFile = ego.loadFile 
    -------------------------------------------------------------------- 
    -------------------------------------------------------------------- 

--Create the background and make it blue 
local bg = display.newRect(0, 0, 320, 480) 
bg:setFillColor(150, 180, 200) 

--Start the score at 0 
local score = 0 

--Create score text and make it dark gray 
local scoreText = display.newText(score, 200, 20, native.systemFont, 24) 
scoreText:setTextColor(80, 80, 80) 

--Function to add to score and update scoreText 
    local function addToScore() 
    score = score + 1 
    scoreText.text = score 
end 
bg:addEventListener("tap", addToScore) 

    -------------------------------------------------------------------- 
    -------------------------------------------------------------------- 

    --Load highscore value from file. (It will initally be a string.) 
    highscore = loadFile ("gameScores.txt") 

    --If the file is empty (this means it is the first time you've run the app) save it as 0 
    local function checkForFile() 
    if highscore == "empty" then 
    highscore = 0 
    saveFile("gameScores.txt", highscore) 
    end 
    end 
    checkForFile() 

    --Print the current highscore 
    print ("Highscore is", highscore) 

    -------------------------------------------------------------------- 
    -------------------------------------------------------------------- 

    --When the app is quit (or simulator refreshed) save the new highscore 
    --(If score > highscore the data will not be changed) 

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

Runtime:addEventListener("system", onSystemEvent) 

回答

相關問題