VS2012,cocostudio 1.3,cocos2d-x 3.0RC
很简单的场景
里面有一个UI
UI里面有两个按钮
现在给其中一个做事件
auto node = SceneReader::getInstance()->createNodeWithSceneFile("demoScene.json");if(node) { addChild(node); } auto child = node->getChildByTag(10006);
auto reader = (ComRender*)childReadme->getComponent("demoUI");
auto layer = (Layer*)reader ->getNode();
Widget* btnBack = (Widget*)layer->getChildByTag(5);
btnBack->addTouchEventListener(this,toucheventselector(menu::click_demo_back));
如果getChildBytag 定义为Button,编译器会报错…Widget则正常,不知道为什么
断点到btnBack这里,可以发现btnBack的_name是backButton ,应该是获取了正确的widget
声明是这样的
void click_demo_back(cocos2d::Ref* pSender,cocos2d::ui::TouchEventType type);
实现是
void menu::click_demo_back(Ref* pSender,TouchEventType type)
{
CCLog("back");
}
然后运行时,回调一直进不去
我直接断点到UIWidget.cpp里的
bool Widget::onTouchBegan(Touch *touch, Event *unusedEvent)
发现这个也没进…
求斑竹和各路大神帮忙哈
上个图
第二个断点进不去…
点一次按钮会触发两次第一个断点,event分别是begin和end

