Cocos2d-x 3.x中新的回调函数归纳
2017-02-07 00:00
621 查看
由于引入了C++11特性,cocos2d-x3.x中许多实现方案,相对于以前的cocos2d-x2.x,都有了很大的改进,当然性能上也得到一定的提升。
本文关注的是回调函数从2.x到3.x的变化。
cocos2d-x2.x时代的回调函数
2.X时代主要使用CCCallFunc、CCCallFuncN和CCCallFuncND等几种方式实现。
CCCallFunc、CCCallFuncN和CCCallFuncND都用来创建带有回调函数的动作,区别主要在于回调函数是否带有参数。
2.x时代实例
cocos2d-x3.x时代
由于引用了std::function等支持,回调函数得到极大简化处理。归纳如下:
CallFunc可以由std::function<void()>来创建
CallFuncN可以由std::function<void(Node*)>来创建
CallFuncND和CallFuncO已经被移除了因为它们可以类似地由CallFuncN和CallFunc来创建。
可以查看示例中的ActionsTest.cpp文件,同时注意MenuItem支持std::function<void(Node*)>作为回调。
CallFunc示例:
//v2.1版本
//v3.0版本(短版本)
//v3.0版本(长版本)
//v3.0中你也可以使用lambda表达式或者其他函数对象
MenuItem示例:
//v2.1版本
//v3.0版本(短版本)
//v3.0版本(长版本)
//v3.0中你也可以使用lambda表达式或者其他函数对象
登录乐搏学院官网http://www.learnbo.com/
或关注我们的官方微博微信,还有更多惊喜哦~
本文出自“青峰”博客,请务必保留此出处http://zhuxianzhong.blog.51cto.com/157061/1716528
本文关注的是回调函数从2.x到3.x的变化。
cocos2d-x2.x时代的回调函数
2.X时代主要使用CCCallFunc、CCCallFuncN和CCCallFuncND等几种方式实现。
CCCallFunc、CCCallFuncN和CCCallFuncND都用来创建带有回调函数的动作,区别主要在于回调函数是否带有参数。
2.x时代实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 7fe0 CCSequence::create( |
由于引用了std::function等支持,回调函数得到极大简化处理。归纳如下:
CallFunc可以由std::function<void()>来创建
CallFuncN可以由std::function<void(Node*)>来创建
CallFuncND和CallFuncO已经被移除了因为它们可以类似地由CallFuncN和CallFunc来创建。
可以查看示例中的ActionsTest.cpp文件,同时注意MenuItem支持std::function<void(Node*)>作为回调。
CallFunc示例:
//v2.1版本
1 |
1 2 3 |
1 2 3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//v2.1版本
1 |
1 |
1 |
1 2 3 4 5 6 7 |
或关注我们的官方微博
本文出自“
相关文章推荐
- cocos2dx-lua 对lua项目中class(sub,super)的理解
- Cocos2d-x开发--使用CCRenderTexture将矩形图片裁剪成圆形显示
- 内存问题
- 第十二章物理引擎
- cocos2d-x lua调用自定义c++ 类
- Cocos Code IDE 调试报错
- Cocos2d-x 3.x 图形学渲染系列总结
- Cocos2d-x 3.x 图形学渲染系列总结
- cocos2dx安装和初步使用
- cocos2dx 3.x(游戏中的储存-UserDefault)
- 第十一章粒子系统
- cocospods出现“Generating Pods project Abort trap: 6”
- cocos2d-android_02_熟悉基本的类
- 关于OpenGL中的纹理坐标系与Cocos2d-x中的实现细节
- 学习笔记-【Quick-Cocos2d-x初学者游戏教程】
- Cocos2d中JniHelper获取JNIENV及C++与Java间类型转换
- 构建cocos2dx项目和打包
- cocos2d-android_01_导入和关联源码
- cocos2dx - Lua 语言
- vs2015打开cocos项目报错C1189