3

我在此行收到此错误“捕获过多”:

gM.webServiceUserId,  mute, volume, gM.roundCount,gM.puntajeTotal,gM.tiempo,gM.facebookLogro,gM.twitterLogro,gM.a,gM.b,gM.c,gM.d,gM.e,gM.f,gM.g,gM.h,gM.i,gM.j,gM.k,gM.l,gM.m,gM.n,gM.o,gM.p,gM.q,gM.r,gM.s,gM.t,gM.u,gM.v,gM.w,gM.x,gM.y,gM.z = string.match(saveData, "(%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+)")

我的文件中总共有 34 个数据。我在这里要做的是将每一行分配给变量示例:

on file ( 1,2,3,4,5)
var1=1
var2=2
var3= 3
var4= 4
var5 = 5

添加更多变量时出现此错误,请帮助我找到解决方案

我想在这里做的事情是在游戏关闭时将 34 个变量保存到 1 个文件(system.DocumentsDirectory)中,然后在游戏启动时再次加载它们......它可以工作但有一些变量但是当我添加更多时得到那个错误....

lua代码电晕sdk

4

1 回答 1

4

您可以做的一件事是使用 key=value 格式将数据以不同方式存储到文件中:

 local saveData = ''
 for k, v in gM do
    saveData = (saveData..k..'='..v..',')
 end
 -- Your code to write the saveData into the save file

之后,您将能够像这样从文件中加载/检索:

 for k, v in string.gmatch(s, "(%w+)=(%d+)") do
    gM[k] = v
 end

请注意,这只适用于 gM 变量 :) 您还需要在 gM 中存储静音和音量(gM.mute、gM.volume)。

于 2013-10-31T00:37:01.980 回答