Function Lua回调“尝试索引全局”

Function Lua回调“尝试索引全局”,function,callback,lua,global,local,Function,Callback,Lua,Global,Local,该行: wndMain:FindChild您是否可以在OnNormalColorFontClick中访问wndMain?如果是这样,则可以将其作为参数传递给回调,或者在OnNormalColorFontClick中本地定义回调,使其成为捕获wndMain的闭包 编辑:这是闭包解决方案 function AnotherSCT:OnNormalColorFontClick( wndHandler, wndControl, eMouseButton ) local color = Color.n

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

编辑:这是闭包解决方案

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

我无法更改颜色转换器或其功能。如何在本地定义回调?好的,它可以工作。谢谢你的帮助。我必须在本地回调函数中调用self.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