3

私のLuaコード(Corona SDKを使用)では、私の問題は本質的に次のように要約されます。

local function foo()
    bar()
end

local function bar()
    foo()
end

ただし、Luaは行ごとに実行されるため、これが機能する可能性はありません。さらに、この依存関係のループを回避する方法がわかりません。foo()は、タッチイベントに対してbar()を呼び出すDisplayObjectsを作成します。これ自体、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 に答える