本文主要是介绍cocos2d-x中CCCallFunc CCCallFuncN CCCallFuncND的区别和使用示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转自:http://xiandanboke.com.cn/cocos2d-xcccallfunc.html
CCCallFunc CCCallFuncN CCCallFuncND的区别和使用
CCCallFunc CCCallFuncN CCCallFuncND都用来创建带有回调函数的动作,区别主要在于回调函数是否带有参数
CCCallFunc
CCCallFunc是执行对应的回调函数,其中回调函数不可带参数。一般使用静态成员函数create创建实例,create声明如下:
回调函数通过execute方法执行,CCCallFunc中的execute的实现如下:
通过(m_pSelectorTarget->*m_pCallFunc)();可以看到回调函数不包含参数
CCCallFuncN
CCCallFuncN也是执行对应的回调函数,其中回调函数带一个参数。一般使用静态成员函数create创建实例,create声明如下:
回调函数通过execute方法执行,CCCallFuncN中的execute的实现如下:
通过(m_pSelectorTarget->*m_pCallFuncN)(m_pTarget);可以看到回调函数包含一个参数。
CCCallFuncND
CCCallFuncND也是执行对应的回调函数,其中回调函数可带两个参数。一般使用静态成员函数create创建实例,create声明如下:
回调函数通过execute方法执行,CCCallFuncND中的execute的实现如下:
通过(m_pSelectorTarget->*m_pCallFuncND)(m_pTarget, m_pData);可以看到回调函数包含两个参数。
CCCallFunc CCCallFuncN CCCallFuncND实例对比
这篇关于cocos2d-x中CCCallFunc CCCallFuncN CCCallFuncND的区别和使用示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!