3

在我的 Lua 代码(使用 Corona SDK)中,我的问题基本上归结为:

local function foo()
    bar()
end

local function bar()
    foo()
end

但是,因为 Lua 是逐行完成的,所以这没有机会工作。此外,我看不到避免这种依赖循环的方法;foo() 创建为触摸事件调用 bar() 的 DisplayObject,它本身具有调用 foo() 的能力。换句话说,我需要能够制作按钮,当单击时,可以制作更多可以做同样事情的按钮。

此外,我知道 Lua 没有像 C/C++ 那样的函数原型。有关如何解决此问题的任何建议?

4

1 回答 1

7

请记住

local function FuncName() end

在语法上等价于:

local FuncName = function() end

因此,声明局部变量是一件简单的事情,但在声明设置它们的函数值:

local foo = nil
local bar = nil

foo = function()
    bar()
end

bar = function()
    foo()
end
于 2012-06-22T05:34:28.643 回答