cocos2dx 2.x与cocos2dx 3.x类库用法对比
来源:互联网 发布:淘宝五金店铺销量如何 编辑:程序博客网 时间:2024/05/05 16:56
cocos2d-x v2 和 v3 对照手册
cocos2d-x 常用类名改变
下面的表格中的类名的转换方式主要是直接删除了 CC 前缀。
cocos2d-x 类名改变
下面表格中的类名的转换就比较大了。
CCString 用法改变
之前:
CCString* str = CCString::createWithFormat("%s.png","picture");
现在:
std::string str = StringUtils::format("%s.png","picture");
CCDictinoary 用法改变
之前:
CCDictionary* dict = CCDictionary::createWithContentsOfFile("name.plist");CCArray* arr = (CCArray*) data->objectForKey("Levels");
现在:
std::string path = FileUtils::getInstance()->fullPathForFilename("name.plist");ValueMap dict = FileUtils::getInstance()->getValueMapFromFile(path);ValueVector arrLevels = data.at("Levels").asValueVector();
CCArray 用法改变
这里就是 C++ vector 容器的标准用法了。
触摸用法改变
单例类用法改变
CCTime 用法改变
CCTime cocos2d-x v3 中已经被删除了。
范例:
static inline float getTimeDifferenceMS(timeval& start, timeval& end){ return ((((end.tv_sec - start.tv_sec)*1000.0f + end.tv_usec) - start.tv_usec) / 1000.0f);}
OpenGL 的用法变化
MenuItem 的用法变化
在 cocos2d-x v3 中,使用的是 C++11 提供的标准的 std::bind 功能来实现回调。
让我们看看 base/ccMacros.h
中的几个宏:
// new callbacks based on C++11#define CC_CALLBACK_0(__selector__,__target__, ...) std::bind(&__selector__,__target__, ##__VA_ARGS__)#define CC_CALLBACK_1(__selector__,__target__, ...) std::bind(&__selector__,__target__, std::placeholders::_1, ##__VA_ARGS__)#define CC_CALLBACK_2(__selector__,__target__, ...) std::bind(&__selector__,__target__, std::placeholders::_1, std::placeholders::_2, ##__VA_ARGS__)#define CC_CALLBACK_3(__selector__,__target__, ...) std::bind(&__selector__,__target__, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, ##__VA_ARGS__)
所以,对于 cocos2d-x v2 中这样的调用:
CMenuItemImage *item1 = CCMenuItemImage::create(s_pPathB1, s_pPathB2, this, menu_selector(ActionsDemo::backCallback));
在 cocos2d-x v3 中应该是这样的:
MenuItemImage *item1 = MenuItemImage::create(s_pPathB1, s_pPathB2, CC_CALLBACK_1(ActionsDemo::backCallback, this));
0 0
- cocos2dx 2.x与cocos2dx 3.x类库用法对比
- cocos2dx 2.x到cocos2dx 3.x的一些改变
- 认识 Cocos2dx 3.x
- cocos2dx 3.x api
- 【cocos2dx 3.x】画线
- 【cocos2dx 3.x】CCSpriteBatchNode
- cocos2dx-3.x Note
- cocos2dx 2.x editbox
- cocos2dx 3.x 自学笔记 <二> cocos2dx 中注册触摸事件touchEvent 2.x 与 3.x
- cocos2dx 3.x 自学笔记 <三> cocos2dx 2.x 3.x 内存管理机制
- cocos2dx-3.x 导入lua扩展库
- cocos2dx-3.x 导入lua扩展库
- cocos2dx 3.x 相机机制
- cocos2dx 3.x 异步加载
- cocos2dx 3.x 读取csv
- cocos2dx 3.x 移植android
- cocos2dx 3.X 播放视频
- cocos2dx 3.x创建工程
- 设计模式系列16---响应请求的责任链模式
- 在编译好的PHP环境中安装PHP扩展模块
- jQuery插件之ajaxFileUpload
- 通过Ajax方式上传文件,使用FormData进行Ajax请求
- [leetcode] 22. Generate Parentheses
- cocos2dx 2.x与cocos2dx 3.x类库用法对比
- 数据仓库的一些概念
- freemarker的Word模板生成方法
- 左连接查询,获取每个商品类型对应的属性个数
- 【服务器架构】经典游戏服务器端架构概述(续)
- MFC中文件保存中默认添加扩展名
- 一个程序员的心声
- LinkAssemblies任务意外失败
- html(一)css及基本标签的简介