2012-10-01 33 views
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)從日冕。

1.local UI =需要「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 

那麼如何從外部庫調用全局函數內的全局函數呢? 在此先感謝:)

+0

玩了很多之後,我已經弄明白了這一點 –

+0

我在你的代碼中看到'UI:function new()'。這不是有效的Lua語法。你的意思是'函數UI:new()'?。對一個甚至不編譯的代碼提出問題可以最大限度地減少出現問題的可能性。 – prapin

+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需要庫之後。 在科瑞場景功能()我寫的地方UI2 = UI:新的()一樣 再前:

function scene:exitScene(e) 

UI2.inventory_framesDown() --This Works 

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


end 

我還是有點困惑,爲什麼劑量這項工作既然有這麼多的方法來創建類?如果你有更好的解決方案,我很想知道再次感謝。

相關問題