CSLoader以后如何抓取控件?

新人求问,CSLoader载入csd文件后,如何抓取UI的imageview控件?:2: :2: :2:

:2: :2: :2: :2: 为什么没有人。。。呜呜呜

ui::Helper::seekWidgetByName();
ui::Helper::seekWidgetByTag();

我在用完这个句子以后
Node *rootNode = CSLoader::createNode(“LittleRunnerUI.csb”);
this->addChild(rootNode);
该如何抓取控件?

ui::Helper::seekWidgetByName(rootNode, NodeName);
或者直接rootNode->getChildByName(NodeName);
都可以获取rootNode的子节点

— Begin quote from ____

引用第4楼finalsun于2015-04-02 20:31发表的 回 3楼(mayu1989ant) 的帖子 :
ui::Helper::seekWidgetByName(rootNode, NodeName);
或者直接rootNode->getChildByName(NodeName);
都可以获取rootNode的子节点 http://www.cocoachina.com/bbs/job.php?action=topost&tid=292538&pid=1274534

— End quote

我這樣使用

    Node *UI = CSLoader::createNode("MainScene.csb");
this->addChild(UI);

Button* Button_1 = (Button*)Helper::seekWidgetByName(UI, "Button_1");

但顯示這樣 IntelliSense: 類型 “cocos2d::Node *” 的引數與類型 “cocos2d::ui::Widget *” 的參數不相容 d:\projects\Game\Classes\MyHelloWorldScene.cpp 147 55 Game

請問我錯在哪裡啊?!

我實在是不懂…

你UI的类型声明是Node,你把UI转成Widget

Node UI = CSLoader::createNode(“MainScene.csb”); 改为
Widget
ui = ( Widget* ) CSLoader::createNode(“MainScene.csb”);

我这样用好像可以,但不知道会不会有问题:
Node *UI = CSLoader::createNode(“MainScene.csb”);
this->addChild(UI);

Button* Button_1 = static_cast<Button *>(UI->getChildByName(“Button”));

這樣不會有問題
因為我都是這樣用

只是我不解為什麼每次使使用Helper::seekWidgetByName
後來查一查也是叫我轉成Widget

謝謝 已解決!!

兩種方式都可以正常顯示了!!!