首页 > 学院 > 开发设计 > 正文

cocos2d-x + lua获取CocoStudio中导入json文件中控件的两种方法:

2019-11-08 18:43:01
字体:
来源:转载
供稿:网友

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未免太繁琐。这时方法二是一个很好的选择)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表