Функции 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
})