如何在外部库中的函数内访问或调用全局函数?

时间:2012-10-01 14:18:35

标签: lua corona moai

我有一个这样的课作为例子:

   --An External Library --UI.lua
    UI = {}
   function UI: new()
    local Group = display.newGroup;

    local inventory_frames = display.newImage("inventorybox.png") ;
    Group :insert( inventory_frames) ;

    function inventory_framesDown()

      local tr_down = transition.to(inventory_frames,{time = 150,alpha = 0, x=0 ,y =8})

    end 


    return Group
    end
    return UI    

现在来自我实际的scene.lua(使用故事板API)来自电晕。

1.local ui = require“UI.lua” 之后在我的创建场景函数()(我没有把它放在一个组场景中的原因,因为我想让它手动消失)

local UI2 = UI:new()

然后在我的退出场景函数内部。我想从UI内部调用函数inventory_framesDown():new()。

function scene:exitScene(e)

invent = UI:new() inventory_framesDown() --this dose not work

storyboard.purgeScene("scene2");
storyboard.removeAll()


end

那么如何从外部库中调用全局函数内的全局函数? 在此先感谢:)

1 个答案:

答案 0 :(得分:0)

基本上;

--An External Library --UI.lua


  UI = {}
    function UI:new()
    local Group = display.newGroup;

    local inventory_frames = display.newImage("inventorybox.png") ;
    Group :insert( inventory_frames) ;

    function Group: inventory_framesDown() -- I rewrite the code like this.

      local tr_down = transition.to(inventory_frames,{time = 150,alpha = 0, x=0 ,y =8})

    end 


return Group
end
return UI   

然后在我的Scene.lua中需要库之后。 在Creat场景函数()中,我写了与之前相同的本地UI2 = UI:new() 然后:

function scene:exitScene(e)

UI2.inventory_framesDown()  --This Works

storyboard.purgeScene("scene2");
storyboard.removeAll()


end

我仍然有点困惑为什么要这么做?因为有很多方法来创建类和对象。如果你有更好的解决方案我很想知道再次感谢。