CocoStudio 在c++响应回调方法
来源:互联网 发布:linux打印行号 编辑:程序博客网 时间:2024/06/08 15:29
cocos2dx 3.9
cocostudio 3.9
今天用到了按钮的回调方法
回调方法有Click和Touch两种。分别是对应cocos2dx的addClickEventListener和addTouchEventListener.
看代码
//依次对应csb文件的按钮名称std::string btnName[]={"singlegame_btn","mulgame_btn","music_btn","loadgame_btn","exitgame_btn"};for(auto n:btnName){auto btn = dynamic_cast<Widget*>(csb->getChildByName(n));//获取回调函数名称auto callbackName = btn->getCallbackName();//获取回调类型auto callbackType = btn->getCallbackType();//绑定到相应的函数this->bindCallback(callbackName,callbackType,btn);}
然后我们看看bindCallback函数
void MenuScene::bindCallback(const std::string&callbackName,const std::string&callbackType,Widget*widget){//单人游戏按钮if(callbackName == "singleGame" && callbackType == "Click")widget->addClickEventListener(CC_CALLBACK_1(MenuScene::singleGame,this));//多人游戏按钮if(callbackName == "mulGame" && callbackType == "Click")widget->addClickEventListener(CC_CALLBACK_1(MenuScene::mulGame,this));//音效操作按钮if(callbackName == "operateMusic" && callbackType == "Click")widget->addClickEventListener(CC_CALLBACK_1(MenuScene::operatorMusic,this));//载入游戏按钮if(callbackName == "loadGame" && callbackType == "Click")widget->addClickEventListener(CC_CALLBACK_1(MenuScene::loadGame,this));//退出游戏按钮if(callbackName == "exitGame" && callbackType == "Click")widget->addClickEventListener(CC_CALLBACK_1(MenuScene::gameExit,this));}在这里面就是判断当前所属的事件,然后进行绑定
还有一种就是直接绑定了,不获取回调函数名
auto loadGameBtn = dynamic_cast<Widget*>(csb->getChildByName("loadgame_btn"));//也可以是addTouchEventListener()loadGameBtn->addClickEventListener(CC_CALLBACK_1(MenuScene::loadGane,this));两种方法,孰优孰劣,看情况
,最后上一张效果图
参考文档
http://www.cocoachina.com/cms/wap.php?action=article&id=11625
1 0
- CocoStudio 在c++响应回调方法
- CocoStudio的动画回调
- Objective-C响应方法
- Cocostudio按钮事件不能响应
- cocoStudio: button触摸事件响应
- cocos2d-x 3.x 关于cocostudio的UI将事件吃掉,场景Layer无法响应手势的问题解决方法
- 在cocos2dx中加载CocoStudio
- cocostudio在quick中的使用
- CocoStudio
- CocoStudio
- cocostudio
- C#事件机制及响应方法
- Objective-C 【动态类型检测&响应方法】
- C在win32的console下响应CTRL+C
- 在cocostudio的ui中嵌入CCEditBox
- cocostudio在scrollview封装滚动条
- Cocos-Js - Cocostudio在JS中的使用
- cocosjs+cocostudio最新版本在iphone6上花屏
- UIImagePickerController status Bar can not hidden in IOS 10
- 电商Hadoop项目第一天
- 十二周项目四--利用遍历思想求解图问题(6-7)
- 第十二周项目5 - 迷宫问题之图深度优先遍历解法
- 第十二周 图的广度优先遍历
- CocoStudio 在c++响应回调方法
- JS过滤emoji表情及其身份证,座机,手机正则。!
- 怎么在linux系统重置mysql的root密码
- 第十二周项目二(操作用邻接表实现的图)
- JavaScript中的构造函数
- 第十二周项目3——图遍历算法实现
- 第十二周-图项目四(5)
- 第十二周项目三 图遍历算法实现——深度优先(DFS)遍历
- AJAX初窥门径教程