将Corona SDK中的步进器的值保存到json文件中。

我希望能够将 Corona 中步进小部件的值传递到 json 文件中。到目前为止,我已经让我的步进小部件显示并递增和递减并在屏幕上显示当前值。我编写了一个将该值保存为 json 文件的函数,但是我在调用该函数时遇到了麻烦。我希望能够在屏幕上有其他设置,这些设置的值保存为 json。这是保存设置的代码:

local function saveSettings  (e)
    -- body
print("testtesttest")
    if (file) then
        local content = file:read("*a")

    else
        settings = {}
        settings.houses = StepperNo
        file = io.open(path, "w")
        local json_setting = json.encode(settings)
        file:write(json_setting)
        io.close(file)
    end
end

然后是显示步进器的代码:

local StepperNo = 1
local displayNoOfHouses = display.newText("Number of houses: "..StepperNo,180,135, native.systemFontBold,16)
local function onStepperPress( e )

    if ("increment" == e.phase) then
        StepperNo = StepperNo + 1
    elseif ("decrement") == e.phase then
        StepperNo = StepperNo - 1
    end

    displayNoOfHouses.text = "Number of houses: "..StepperNo

end

local HouseStepper = widget.newStepper {left = 100, top = 100, minimumValue = 0, maximumValue = 9, onPress = onStepperPress}

我不知道如何在按下步进器后调用 savesetting 函数。我认为我可能做错了这个,或者可能漏掉了一些显而易见的东西,我对 Lua 非常陌生...

点赞
用户1870706
用户1870706

本教程介绍了一种非常简单易行的表格保存与加载方法:

http://coronalabs.com/blog/2014/10/14/tutorial-saving-and-loading-lua-tables-with-json/

它使用 JSON 对 Lua 表格进行编码以进行保存,需要时再将 JSON 读取回来并解码为 Lua 表格。

2015-02-09 02:20:46