cocos2dx ui::Button 的addClickListener问题

来源:互联网 发布:vb cad二次开发源码 编辑:程序博客网 时间:2024/06/12 16:40

今天编程时偶然遇到了一个问题,就是关于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的特性了,但我讲不太清楚,就是感觉这样不对(因为编译通不过)。就不贻笑大方了


0 0
原创粉丝点击