如何在onComplete事件中将参数传递给函数(Lua + Corona)

Ple*_*ock 1 lua coronasdk

如何在onComplete事件中将参数传递给函数(Lua + Corona SDK)

transition.to(obj, {time = 1000, x = toEnemy.x, y = toEnemy.y, onComplete = onHit} )

----
transition.to( target, params )
----

params is:

params.time
params.transition
params.delay
params.delta
params.onStart
params.onComplete
Run Code Online (Sandbox Code Playgroud)

没有"params.onCompleteParams",但我想将参数传递给我

函数不使用全局变量

Mic*_*man 9

Lua函数实际上是闭包.这意味着它们捕获函数外部的局部变量的值.

通过使用匿名函数作为onComplete处理程序,您可以执行以下操作:

-- save 'parameters' you need to pass as local variables
local paramToPass = 'hello'
local paramToPass2 = 'world'
transition.to(obj, { time = 1000, x = toEnemy.x, y = toEnemy.y,
    -- use an anonymous function as the onComplete handler
    -- it captures the values of any local variables it references
    onComplete = function(obj)
        -- call your original function with your additional parameters...
        onHit(obj, paramToPass, paramToPass2) 
    end
})
Run Code Online (Sandbox Code Playgroud)