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 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)来自corona。

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

local UI2 = UI:new()

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

function scene:exitScene(e)

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

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


end

那么如何从外部库调用全局函数内部的全局函数呢?提前致谢:)

4

1 回答 1

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 中。在创建场景函数()中,我写 local UI2 = UI:new() 与以前相同,然后:

function scene:exitScene(e)

UI2.inventory_framesDown()  --This Works

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


end

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

于 2012-10-01T14:57:17.327 回答