您的位置:首页 > 移动开发 > Cocos引擎

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__)

下面上正确代码

startBtn->addClickEventListener([](Ref*ref)
{
//
});
,好吧,其实是比较简单的问题,脑子一时转不过来弯来就容易出错。
具体为什么不能像第二个那样用,得好好了解c++11的特性了,但我讲不太清楚,就是感觉这样不对(因为编译通不过)。就不贻笑大方了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: