在函数中传递数据,做错了吗?

时间:2014-05-12 03:08:53

标签: lua corona

我使用Corona SDK创建Android / iOS应用。我试图在函数中传递两个不同的参数。该函数调用如下:

function onCollision( self, event )

问题是,当调用该函数时,它会返回此错误:attempt to index local "event" a nil value。我知道为什么,我认为这是因为逗号。但我已经阅读了文档以及您应该如何做到这一点,任何帮助?

2 个答案:

答案 0 :(得分:1)

如果你给一个表对象并引用你的函数作为表的一部分它应该工作:

local object = display.newImage( "object.png" )
physics.addBody( object , { ... } )

local function onCollision( self, event )
    ...
end

object.collision = onCollision
object:addEventListener( "collision", object)

答案 1 :(得分:0)

你的功能应该是onCollision(事件),不需要自我。

如果您确实想要将另一个参数传递给此函数,可以使用类似的闭包来执行此操作:

local myParam = 1
Runtime:addEventListener ( "collision", function(event) 
                                         return onCollision(event, myParam) 
                                        end )