Cocos2d-x-3.3回调函数详解(给回调函数(函数指针)传参)

前端之家收集整理的这篇文章主要介绍了Cocos2d-x-3.3回调函数详解(给回调函数(函数指针)传参)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
首先要明确CC_CALLBACK 和CallFunc、CallFuncN三者的区别
CallFunc和CallFuncN都是用来 创建带有回调函数的【动作】,即, 把一个带有(不带有)参数的回调函数包装成一个动作。区别主要在于回调函数是否带有参数。
因为是包装的一个函数,所以必是以回调函数函数指针)的形式出现的。
CallFunc不能带有参数,一般使用静态成员函数create创建实例。
CallFuncN可以带有 一个参数,一般使用静态成员函数create创建实例。



------------------------------------
CC_CALLBACK_0
std::bind,具体可以看一下这个,C++11的新特性。
用于创建回调函数的宏
0,1,2,3是指回调原型中,明显声明的参数列表,这个参数列表都是由COCOS提供的。

而且要注意到其中 不事先指定回调函数参数和 事先指定回调函数参数的顺序,注意不事先指定的在前,事先指定的在后

标准格式:
CC_CALLBACK_1 ( GameScene :: doPause , this ,用户指定参数1,用户指定参数2,用户指定参数n );

回调函数原型:
void GameScene::doPause(Ref *pSender,*touch,*event,用户参数1,用户参数2,用户参数n)
//不用对Ref 进行任何操作
/ /其中this,就是指侦听该回调函数的对象的类型
原文链接:https://www.f2er.com/cocos2dx/343382.html

猜你在找的Cocos2d-x相关文章