CocoStudio導出的LUA文件使用

首先導出的LUA文件是這樣的

箭頭指向的位置有個Create函數。就是調用這個函數進行創建。(至於這個參數是啥玩意,後邊會講到)

首先,先將導出的這個文件require進來,進來之後呢,調用create方法,就會返回Cocos創建的Scene了~

代碼如下:

local csLuaScene = require("Scene.lua").create()

然後create 方法返回的結果是一個table,通過csLuaScene['root']來獲得創建的Scene,接着replaceScene就可以了!對於“圖層”和“節點”也是類似的操作!
最後通過一系列的getChildByName 和 GetChildByTag 獲取子節點進行操作就可以了!
啊,對了,獲取動畫的方式和獲取Scene的方式相似 csLuaScene['animation']!
接下來,create函數的那個參數是什麼東西呢?
來看這個圖 ,我給Button_1添加了一個叫做btn2的Click事件

生成LUA代碼之後,能夠發現有如下代碼段

 

這段代碼,首先判斷callBackProvider是否爲空,然後呢,將他的返回值設置爲Button_1的Click回調函數。
這樣就很明白了。create時候需要傳入的參數callBackProvider是一個函數,他的功能是根據傳入的3個參數進行判斷,最終返回一個函數最爲Button(或者其他node)的回調函數!
callBackProvider的三個參數,分別是,當前LUA文件的路徑,所綁定的Node(可以通過name或者tag來判斷是哪個node),最後是回調函數的名字,通過這三個參數可以很容易的知道是哪個按鈕的回調事件,從而返回該按鈕所需要的回調函數。
所以,在create時候應該是這樣的:


local callBackProvider = function ( path,node,funcName )

    if path == "Scene.lua" and node:getName()=="Button_1" and funcName =="bnt2" then

        local function btnCallback(  node,eventType  )

            --TODO

        end

        return btnCallback

    end

end

 

local csLuaScene = require("Scene.lua").create(callBackProvider)
 

 


原文鏈接:https://blog.csdn.net/qq446569365/article/details/44837747

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章