Cocos2d-xV3.17.2获取csb文件按钮组件并绑定事件
CocosStudio创建控件的时候默认的控件名称在Cocos2d-xV3.17.2中是不起作用的,即获取不到。只有当我们重命名之后使用重新命名的名称获取才生效。总结:每当创建新的控件的时候务必重命名!
接下来我们获取csb文件中的场景的按钮,并对其绑定点击事件。
在HelloWorldScene.cpp中的init()函数定义如下:
bool HelloWorld::init(){if (!Scene::init()){return false;}auto rootNode = CSLoader::getInstance()->createNode("MainScene.csb");Button* btn = (Button*)rootNode->getChildByName("Btn");btn->addClickEventListener(CC_CALLBACK_1(HelloWorld::Click, this));//CC_CALLBACK_1宏内置C++11 std::bind处理//btn->setVisible(false);this->addChild(rootNode);return true;}void HelloWorld::Click(Ref* pSender){log("success");}
运行结果:
当我们点击按钮的时候,会打印出success。此时代表我们给按钮添加绑定事件成功!