Lua回调"尝试索引全球或#34;

时间:2014-05-11 17:26:10

标签: function callback lua global local

function AnotherSCT:OnNormalColorFontClick( wndHandler, wndControl, eMouseButton )
   local color = Color.new(0.5, 1, 0.5, 1)
   ColorGetter.GetColor(color, false, ColorCallBack, color)
end

function ColorCallBack(color)
  if color == nil then
    Print("nil")
      else
    wndMain:FindChild("NormalFontTypeTestText"):SetTextColor(color)
  end
end

该行: wndMain:FindChild< --- generate"尝试索引全球' wndMain'

如何在回调函数中访问wndMain?

1 个答案:

答案 0 :(得分:0)

您是否可以访问wndMain中的OnNormalColorFontClick?如果是这样,那么您可以将其作为参数传递给回调,或者在OnNormalColorFontClick内本地定义回调,使其成为捕获wndMain的闭包。

编辑:这是"关闭"溶液

function AnotherSCT:OnNormalColorFontClick( wndHandler, wndControl, eMouseButton )
    local color = Color.new(0.5, 1, 0.5, 1)

    local function ColorCallBack(color)
        if color == nil then
            print("nil")
        else
            wndMain:FindChild("NormalFontTypeTestText"):SetTextColor(color)
        end
    end

    ColorGetter.GetColor(color, false, ColorCallBack, color)
end