如何在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",但我想将参数传递给我
函数不使用全局变量
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)