在我的数据.lua中轻松保存

我知道可以使用以下代码:

if mydata.settings.something >= 1 then
something

但是我能否也将数据保存在同一行中?我尝试使用以下代码:

mydata.settings.something = 1
_G.something = 1
_G.mydata.settings.something = 1

但是它们都不能工作,有没有人告诉我是否有一个短函数可以保存数据?

点赞
用户2488456
用户2488456

你可以将设置写入不同的文件中,并通过dofile([filename])方法加载它们,指定已保存好的文件路径。但是,需要小心使用此选项,因为它还会执行文件内容,根据你内置的功能而定,可能会对你的计算机造成伤害。

更安全的选项是将任何内容放入.lua文件中,你可以使用require(modname)加载它们。

希望这能帮到你。

2015-01-18 01:08:31
用户2360222
用户2360222

请查看简单的表格加载保存函数

我在这里复制了来自 GitHub 的信息:

用法:

local loadsave = require("loadsave")

myTable = {}
myTable.musicOn = false
myTable.soundOn = true

loadsave.saveTable(myTable, "myTable.json")

然后要读回来:

myTable = loadsave.loadTable("myTable.json")

这段基础代码默认使用system.DocumentsDirectory保存游戏设置。如果您需要保存文件到其他位置,可以向函数传递另一个参数"CachesDirectory"或"TemporaryDirectory",以将更改应用于指定的位置。

例如:

loadsave.saveTable(myTable, "myTable.json", system.TemporaryDirectory)
loadsave.loadTable("myTable.json", system.TemporaryDirectory)

如果您想更改默认目录,则可以在代码中更改变量(DefaultLocation = system.TemporaryDirectory)或在您的代码中调用loadsave.changeDefault(system.TemporaryDirectory)

我在我的应用程序中使用它,它运行得非常好。我希望这可以帮助您。

2015-01-19 21:58:15