Cocos2d-x v2和v3对照手册

本文旨在帮助开发者将拇指接龙游戏教程案例从Cocos2d-x3.x平滑过渡到最新版本CocosStudio2.0.2。内容涵盖类名转换、触摸事件处理、时间管理等关键点,旨在加速开发过程并减少学习成本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

稍过段时间,打算把拇指接龙游戏教程案例修改为当前最新的Cocos Studio 2.0.2版本(+Cocos2d-x 3.x)。所以,打算先搜索一部分资料以便加快速度。下面引文来自于http://cn.cocos2d-x.org/tutorial/show?id=1956。



本文大部分内容来自对这篇文章的翻译《Cocos2d-x v2 to v3 mapping guide》。

但这篇文章有一些老了,还有一些内容已经在 Cocos2d-x 3.3 中过时。因此,我并没有进行完全对照翻译。对原文中的错误,我也进行了一些修改。同时,我也会不断增加自己的内容。


Cocos2d-x v3和v2相比有非常大的改变。我把踩过的坑列在下面,以方便后来之人。


Cocos2d-x 常用类名改变

下面的表格中的类名的转换方式主要是直接删除了 CC 前缀。

QQ截图20141127094521.jpg

Cocos2d-x 类名改变

下面表格中的类名的转换就比较大了。

QQ截图20141127094916.jpg

CCString 用法改变

之前:

1
CCString* str = CCString::createWithFormat( "%s.png" , "picture" );

现在:

1
std::string str = StringUtils::format( "%s.png" , "picture" );


CCDictinoary 用法改变

之前:

1
2
CCDictionary* dict = CCDictionary::createWithContentsOfFile( "name.plist" );
CCArray* arr = (CCArray*) data->objectForKey( "Levels" );

现在:

1
2
3
std::string path = FileUtils::getInstance()->fullPathForFilename( "name.plist" );
ValueMap dict = FileUtils::getInstance()->getValueMapFromFile(path);
ValueVector arrLevels = data.at( "Levels" ).asValueVector();


CCArray 用法改变

这里就是 C++ vector 容器的标准用法了。

QQ截图20141127095345.jpg

下面的信息来自这里


触摸用法改变

QQ截图20141127095357.jpg

单例类用法改变

1417053450342643.jpg

CCTime 用法改变

CCTime在Cocos2d-x v3中已经被删除了。

QQ截图20141127095805.jpg

范例:

1
2
3
4
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);
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值