1个回答
推荐于2017-09-03 · 知道合伙人互联网行家
关注
展开全部
错误已经写的很明显了
你使用了一个空值来索引一个table
比如 你运行一下这段代码你就懂了
tab = {}
tab.size = {}
print(tab.size.a)
tab.size = nil
print(tab.size.a)
第一次输出nil
第二次就出现了和你一样的错误
因为size 本身不是一个table 而你以访问table的方式来访问这个值为nil的size
所以就出现这个问题了
解决的方法是 你确认一下 在之前的函数里是否初始化了这个size 或者是 把它置成nil了
你使用了一个空值来索引一个table
比如 你运行一下这段代码你就懂了
tab = {}
tab.size = {}
print(tab.size.a)
tab.size = nil
print(tab.size.a)
第一次输出nil
第二次就出现了和你一样的错误
因为size 本身不是一个table 而你以访问table的方式来访问这个值为nil的size
所以就出现这个问题了
解决的方法是 你确认一下 在之前的函数里是否初始化了这个size 或者是 把它置成nil了
追问
比较奇怪的是,错误的位置是固定的,我调整了长度依然这样,我抽出来一段
fruit_left_sur[3] = {}
for i = 0, 4 do
fruit_left_sur[3][i] = Mt.Surface.New("res/kiwi/left/"..i+1)
end
fruit_right_sur[3] = {}
for i = 0, 4 do
fruit_right_sur[3][i] = Mt.Surface.New("res/kiwi/right/"..i+1)
end
追答
lua的数组 默认是从1开始
你看看是不是这个原因引起的
比如
a = {"a","b","c"}
print(a[1])
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询