自定义回调 并将之以参数的形式传入
来源:互联网 发布:webshell查杀工具 编辑:程序博客网 时间:2024/05/21 02:51
.h
//按钮点击的回调类型定义
typedef void (cocos2d::Ref::*BtnClickCallBack)();class ShowMsgLayer : public Layer{public: static Scene * scene(); virtual bool init(); virtual void onEnter(); virtual void onExit(); CREATE_FUNC(ShowMsgLayer); ~ShowMsgLayer(); /** *初始化UI资源 */ void initUI(); /** *显示提示信息 */ void showMsg(std::string content, Ref * taget = NULL, BtnClickCallBack callBack = NULL, std::string title = "提示"); private: Ref * m_Target; BtnClickCallBack m_CallBack;};
.cpp
void ShowMsgLayer::initUI(){ Node * lNode = MainTool::readCsbFile("ErrorLayer"); lNode->setAnchorPoint(Vec2::ANCHOR_MIDDLE); Size size = Director::getInstance()->getWinSize(); lNode->setPosition(size.width / 2, size.height / 2); this->addChild(lNode); Layout * uiLayer = (Layout *)lNode; titleText = static_cast<Text *>(Helper::seekWidgetByName(uiLayer, "txtErrorTitle")); conteneText = static_cast<Text *>(Helper::seekWidgetByName(uiLayer, "txtErrorDesc")); //关闭按钮的回调 Button * closeBtn = static_cast<Button *>(Helper::seekWidgetByName(uiLayer, "btnErrorClose")); closeBtn->addTouchEventListener([=](Ref * sender, Widget::TouchEventType type) { if (type == Widget::TouchEventType::ENDED) { if (m_Target && m_CallBack) { (m_Target->*m_CallBack)(); } this->removeFromParent(); } });}void ShowMsgLayer::showMsg(std::string content, Ref * taget, BtnClickCallBack callBack, std::string title){ titleText->setString(title.c_str()); conteneText->setString(content.c_str()); m_Target = taget; m_CallBack = callBack;}
//调用
ShowMsgLayer * msgLayer = ShowMsgLayer::create();this->addChild(msgLayer);msgLayer->showMsg("您的网络出现异常,请检查确认网络是否连接后再开启游戏,谢谢!", this, (BtnClickCallBack)(&GameLayer::onCloseMsgBtnClick));void GameLayer::onCloseMsgBtnClick(){ Director::getInstance()->replaceScene(CenterLayer::scene());}
0 0
- 自定义回调 并将之以参数的形式传入
- 将自定义参数从uboot传入kernel的并读取的方法
- 根据传入的数据绘制圆环,以及以绘画形式自定义图片为圆形
- JS解析URL参数,并将参数以FORM表单形式提交
- Delphi反射传入var形式的参数
- 本文教你如何使用autoconf、automake等来制作一个以源代码形式(.tar.gz)发布的软件、并可在执行configure时使用自定义参数。
- 使用autoconf、automake等来制作一个以源代码形式(.tar.gz)发布的软件、并可在执行configure时使用自定义参数
- Java调用Linux下的shell命令并将结果以流的形式返回
- 将随机产生10个数的集合转成数组,并以数组的形式显示出来
- 将传入的文件内容包装成一个zip形式
- 将播放器以字符串的形式输出到页面上,并实现播放功能
- 将二维数组用foreach遍历并以表格的形式输出
- 将程序的参数传入grid++report
- 将页面以excel的形式导出
- 将dataGridView中的数据全选并以txt形式保存
- /*以流的形式获取请求参数*/
- 字符串转为十六进制的形式并以十六进制形式输出
- 将Tomcat解压缩版变成服务形式运行,并修改Tomcat的启动内存参数
- FROM_UNIXTIME 格式化MYSQL时间戳函数
- cron表达式详解
- Android学习 - 拨号盘dialer定制声音DTMF Tones
- QML中的模型/视图--在QML中呈现数据
- OpenGL旋转
- 自定义回调 并将之以参数的形式传入
- 数据库 主从一致性检查和修复
- 使用mc-tool实现empathy的自动登录与处理密钥环问题
- [Erlang]比特语法详解,看看你知道多少
- eclipse经常未响应优化
- Python第四节FUNCTIONS学习汇总。
- STL系列之二 stack栈
- nginx动态数组ngx_array_t
- Solr之DIH配置(数据导入)