场景编辑器中按钮事件怎么绑定

lz是刚学cocostudio,用官方捕鱼达人那个场景demo,下面的代码为什么不能点击开始游戏按钮实现跳转呢?(cocos2d-x 3.2版本)
bool Logo::init()
{

Node* pNode = SceneReader::getInstance()->createNodeWithSceneFile(“publish/FishJoy2.json”);
this->addChild(pNode);

ComRender render = (ComRender)(pNode->getChildByTag(10010)->getComponent(“GUIComponent”));
Widget widget = (Widget)(render->getNode());
widget->addTouchEventListener(CC_CALLBACK_2(Logo::myfunction, this));

}

void Logo::myfunction(Ref *pSender, Widget::TouchEventType type)
{
switch (type)
{

case Widget::TouchEventType::BEGAN:
Director::getInstance()->replaceScene(HelloWorld::createScene());
break;
}
}

1.那个节点setTouchEnabled了吗?交互勾选了吗
2.取出来的节点确实是你要的Button?输出名字确认下。
PS:不要用C风格来做转换,用dynamic_cast<Button*>转成button

有setTouchEnabled。
这个场景我是直接用捕鱼达人那个demo的,交互应该有勾选…

输出的那个节点也确实是开始按钮…但还是不行额…

用dynamic_cast<Button*>强制转换也不行…

怎么看你拿出来的也不像是按钮。是个Panel吧。
你dynamic_cast<Button*> 你拿出来的Node转换后不是NULL?

你取出来的八成是个图层,你试试setTouchEnabled再点你的层(按钮外头)。

程序这么严谨的东西别跟我说”应该“啊

好好看示例,在示例上改,边改边学。
示例在下载下来的2d-x引擎的test目录下有。
自己多试。改代码又不会丢钱。

lz已经说了是新手了,你说的勾选交互不太清楚指的是什么,是在cocostudio构建场景的时候要勾选允许交互么?我用的是官方给的模板场景,也不知道哪里看有没有勾选。
我已经确定拿出来的node不是null,输出node的tag和cocostudio里面按钮控件的tag显示的是一致的,按钮控件的名字也是GUIComponent

而且我最开始那些代码都是用官方主页推荐的那些教程上看的 http://cn.cocos2d-x.org/tutorial/show?id=1153
刚开始学,只是想试试demo而已

你用的是场景编辑器
取出来的应该是UI编辑器构建的节点。 按钮是这个节点的一个子节点才对。
之前回答你之后,我去看了fishjoy2这个场景工程,这个10010确实是一个UI组件,不是一个BUTTON。
应该还需要再取一次子节点才能够取到button。

直接看2d-x给的test工程,里边有加载场景编辑器资源的示例。看那个最直接。
路径在2d-x根目录/test/ 下 这里头有几个工程,按需要看。

还有现在2.0编辑器生成的项目,在代码的使用上友好得多,使用2.0也是以后的趋势,建议你多看看新的