我正在制作一个应用程序,当我运行代码时,它出现了:`main.lua`:290:尝试索引字段(一个nil值)
我正在制作一个应用程序,当我运行代码时,出现了:我正在制作一个应用程序,当我运行代码时,它出现了:`main.lua`:290:尝试索引字段(一个nil值),lua,coronasdk,Lua,Coronasdk,我正在制作一个应用程序,当我运行代码时,出现了: main.lua:290:尝试索引字段(零值) 函数检查() 打印('检查游戏结束') 对于i=1,Balls.numChildren会 印刷品(一) 如果(Balls[i].y>display.contentHeight),则--290行 显示。移除(球[i]) 球[i]=零 if(tonumber(ballsremaine.text)检查看起来像是一个被多次调用的函数。它可以设置Balls[i]到nil表示i的任意值。大概Balls有许多插槽
main.lua
:290:尝试索引字段(零值)
函数检查()
打印('检查游戏结束')
对于i=1,Balls.numChildren会
印刷品(一)
如果(Balls[i].y>display.contentHeight),则--290行
显示。移除(球[i])
球[i]=零
if(tonumber(ballsremaine.text)检查
看起来像是一个被多次调用的函数。它可以设置Balls[i]
到nil
表示i
的任意值。大概Balls
有许多插槽,可能包含对象,也可能不包含对象。因此,在尝试对对象执行任何操作之前,更改第290行以检查插槽是否已被占用:
if (Balls[i] and Balls[i].y > display.contentHeight) then -- LINE 290
好的,我试着打印语句并查看了corona模拟器的输出,这是我得到的:
结束游戏
一,
二,
结束游戏
一,
二,
这一直持续到它到达运行时错误和main.lua
:290:尝试索引字段(一个nil值)你能指出“line 290”是哪一行吗?显然,第290行是包含Balls[i]的那一行.y
显然,您试图索引一个字段,但它是nil
与如何计算numChildren有关?如果您在if Balls[i]
之前打印(“ball”,i)
,是否可以显示您得到的输出?
if (Balls[i] and Balls[i].y > display.contentHeight) then -- LINE 290