cocos2dx ui::Button 的addClickListener问题
2016-02-17 20:49
477 查看
今天编程时偶然遇到了一个问题,就是关于Button的addClickListener的参数问题,见代码
startBtn->addClickListener(CC_CALLBACK_1([]()
{
//operator
},this));
但是这样是错的,
错误信息:项不会计算为接受2个参数的函数。感觉没错啊,难道是cocos2dx本身的问题??(原谅我的质疑)
百度到另外一种方法
startBtn->addClickListener(CC_CALLBACK_1(HelloWorld::callback,this));
//callbacak为类HelloWorld的成员函数
但突然间我想到我弄错了
#define CC_CALLBACK_0(__selector__,__target__, ...) std::bind(&__selector__,__target__, ##__VA_ARGS__)
下面上正确代码
具体为什么不能像第二个那样用,得好好了解c++11的特性了,但我讲不太清楚,就是感觉这样不对(因为编译通不过)。就不贻笑大方了
startBtn->addClickListener(CC_CALLBACK_1([]()
{
//operator
},this));
但是这样是错的,
错误信息:项不会计算为接受2个参数的函数。感觉没错啊,难道是cocos2dx本身的问题??(原谅我的质疑)
百度到另外一种方法
startBtn->addClickListener(CC_CALLBACK_1(HelloWorld::callback,this));
//callbacak为类HelloWorld的成员函数
但突然间我想到我弄错了
#define CC_CALLBACK_0(__selector__,__target__, ...) std::bind(&__selector__,__target__, ##__VA_ARGS__)
下面上正确代码
startBtn->addClickEventListener([](Ref*ref) { // });,好吧,其实是比较简单的问题,脑子一时转不过来弯来就容易出错。
具体为什么不能像第二个那样用,得好好了解c++11的特性了,但我讲不太清楚,就是感觉这样不对(因为编译通不过)。就不贻笑大方了
相关文章推荐
- cocos2d-x学习笔记--创建对象、构造函数及初始化
- Cocos2d-x学习笔记-- 深入剖析HelloWorld
- cocos2dx学习之路----第二篇(HelloWorld深入讲解)
- cocos2d-js actiontimeline的eventFrame错误自动调用
- cocos2dx学习之路----第一篇(开发环境搭建)
- Cocos2d-x shader学习2: 模糊(Blur)
- Cocos2d-x shader学习2: 模糊(Blur)
- 《Cocos2d-x游戏开发实战精解》学习笔记1--在Cocos2d中显示图像
- 《Cocos2d-x游戏开发实战精解》学习笔记1--在Cocos2d中显示图像
- cocos2dx3.5 HTC One X 某些UI白屏或使用ClippingNode造成部分手机白屏
- 将Cocos项目部署到Android Studio工程中
- 高屋建瓴 cocos2d-x-3.0架构设计 Cocos2d (v.3.0) rendering pipeline roadmap(原文)
- cocos2dx 小问题合集
- 【cocos2dx 3.10】处理手机返回键事件或者电脑键盘事件
- cocos2dx 3.4配置vs2013 + lua环境
- 【cocos2dx 3.x】锚点不是坐标原点
- 作为新手,怎么学Cocos2d-x移动游戏开发
- cocos2d-lua 不渲染纹理,保存当前场景纹理为图片的方法
- Windows下cocos2d-x开发环境的搭建,包含Android开发环境
- cocos2d-x数据简单加密