我有一个这样的课作为例子:
--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
那么如何从外部库中调用全局函数内的全局函数? 在此先感谢:)
答案 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
我仍然有点困惑为什么要这么做?因为有很多方法来创建类和对象。如果你有更好的解决方案我很想知道再次感谢。