Lua 水平解锁电晕sdk

Lua 水平解锁电晕sdk,lua,coronasdk,simulator,game-development,Lua,Coronasdk,Simulator,Game Development,当我完成一个关卡时,我的关卡信息加载有问题。当一个级别完成时,一个按钮变为可见,单击该按钮时,会更改表格以解锁下一个级别。它适用于第一个级别,显示第一个级别完全解锁,但没有其他级别。我的代码在下面,有人能看到我做错了什么吗 function levelMod(event) if (levels[1]) then levels[1] = 3 levels[2] = 1 composer.gotoScene(event.target.destinat

当我完成一个关卡时,我的关卡信息加载有问题。当一个级别完成时,一个按钮变为可见,单击该按钮时,会更改表格以解锁下一个级别。它适用于第一个级别,显示第一个级别完全解锁,但没有其他级别。我的代码在下面,有人能看到我做错了什么吗

function levelMod(event)
    if (levels[1]) then
       levels[1] = 3
       levels[2] = 1
       composer.gotoScene(event.target.destination,{effect="fade"})
       return true
    else
       composer.gotoScene(event.target.destination,{effect="fade"})
       return true
    end
end

nextBtn = display.newText("Next level",0,0,"Helvetica",15)
nextBtn.x=display.screenOriginX+200
nextBtn.y=display.contentHeight-5
nextBtn.destination = "gotoPlay"
nextBtn:addEventListener("touch",levelMod)
nextBtn.isVisible = false
sceneGroup:insert(nextBtn)

function gameOver(condition)
    if(condition =="WINNER") then
        screenText.text="Amazing!";
        nextBtn.isVisible= true
    elseif(condition =="Not Bad") then
        screenText.text="Not To Shabby."
        nextBtn.isVisible = true
    elseif (conditon =="loser") then
        screenText.text="You Can Do Better.";
    end
end
gameOver函数是从另一个函数调用的,如果是赢家或不是坏人,则按钮将变为可见,然后单击按钮时,按钮将转到我的播放文件,其中包含我的具有级别的表格。它使用levelMod函数来解锁级别

local levelsave = require("levelSave")

levels = {
  1,2,2,2,2,
  2,2,2,2,2,
  2,2,2,2,2,
}

levels = loadInfo() 

images ={
  { getFile="unlock.png", types="play" },
  { getFile="lock .png", types="locked" },
  { getFile="greenchecked.png", types="done" }
}
这是我播放文件的主要部分,它将表设置为锁定或解锁。然后:

saveInfo()
放在我的演出现场

local json = require("json")

function loadInfo()
    local base = system.pathForFile("levels.json", system.DocumentsDirectory)
    local jsoncontents = ""
    local levelsArray = {}
    local file = io.open(base,"r")
    if file then
        local jsoncontents = file:read("*a")
        levelsArray = json.decode(jsoncontents);
        io.close(file)
        return levelsArray
    end
    return levels
end

function saveInfo()
    local base = system.pathForFile("levels.json", system.DocumentsDirectory)
    local file = io.open(base, "w")
    local jsoncontents = json.encode(levels)
    file:write(jsoncontents)
    io.close(file)
end

这是我保存和加载的文件。有人能看出哪里出了问题以及为什么只更改了一级吗?

您没有更改下一级的表值

这是第一级的代码。你只是在处理1级以外的任何事情

if (levels[1]) then
levels[1] = 3
levels[2] = 1
当第2级完成时,您应该。执行以下操作

levels[2] = 3
levels[3] = 1

谢谢你,我真不敢相信我错过了。