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= 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 で。Create Scene function() で、前と同じように 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 に答える