如何在Lua中为数组添加eventListener?

时间:2012-06-22 12:17:54

标签: arrays loops lua corona addeventlistener

我正在尝试为我在屏幕上创建的每个球添加eventListener。我使用for循环创建球,然后将它们分配给一个数组。到目前为止它运作良好。但是,当我试图为循环中的每个球添加eventListener时,它给了我阶段nil值错误。能帮我解决一下吗?感谢

这是我的代码:

function ballListener(event)
    if(phase.event=="ended") then
        target.event.isvisible=false
    end
end


for i=1,10,1 do
    a=display.newImage("ball.jpg")
    a.x=math.random(10,200)
    a.y=math.random(10,200)
    a:addEventListener("touch",ballListener)
    table.insert(balls,a)
end

1 个答案:

答案 0 :(得分:1)

对于初学者来说,ballListener函数中的一些内容是向后的。它应该是“event.phase”和“event.target”,因为“phase”和“target”是事件的属性。也应该是isVisible。最终结果应如下所示:

function ballListener(event)
   if(event.phase=="ended") then
      event.target.isVisible=false
   end
end

我没有测试过代码,因此可能还有其他问题我错过了。

查看the Corona API