上一節中講了如何加載cocostudio的UI檔案(參考: cocos2d-x的lua腳本如何加載Cocostudio制作的UI檔案) 那麼我們如何擷取UI上的控件呢?答案是通過Name或Tag查找,使用函數getChildByName() 或 getChildByTag()。 以Button為例,代碼如下:
local function createCocostudioUI() local ccsLayout = ccs.GUIReader:shareReader():widgetFromJsonFile( "DemoLogin/DemoLogin.json") --local ccsButton = ccsLayout:getChildByName("login_Button") local ccsButton = ccsLayout: getChildByTag( 14) ccsButton:addTouchEventListener( function( ...) ccsLayout:setVisible( false) end) return ccsLayout end
其中Name和Tag在cocostudio的UI編輯其中可以設定,如下圖:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyN4YjMygjMwATOxIDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)