1.C++獲取:
方法一:
auto myLayout = cocostudio::GUIReader::getInstance()->widgetFromJsonFile("testUI.json");
this->addChild(myLayout);
Button* loginBtn = (Button*)(myLayout->getChildByName("login"));
方法二:
Button* testBtn = (Button*)(Helper::seekWidgetByName(myLayout,"TestButton"));
- lua獲取
方法一:
local myLayout = ccs.GUIReader:getInstance():widgetFromJsonFile("testUI.json.json")
self:addChild(myLayout)
local loginBtn = myLayout->getChildByName("login")
(不知道這樣對不對,日後再來驗證)
方法二:
local testBtn = ccui.Helper:seekWidgetByName(myLayout,"TestButton")
區別:
方法一: getChildByName是按照數結構進行查找,只能查找父對象下面的子對象,而不能跨級查找。
方法二: Helper::seekWidgetByName可以在整個對象結構中直接查找。
(有時候我們需要獲取某個節點的子節點的子節點、甚至子節點的子節點的子節點、甚至…
這樣的需求是很常見的,而一層一層去get未免太繁瑣。這時方法二是一個很好的選擇)