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

为什么没有人。。。呜呜呜
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
謝謝 已解決!!
兩種方式都可以正常顯示了!!!