加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2d-x v2和v3对照手册

发布时间:2020-12-14 19:36:53 所属栏目:百科 来源:网络整理
导读:稍过段时间,打算把拇指接龙游戏教程案例修改为当前最新的Cocos Studio 2.0.2版本(+Cocos2d-x 3.x)。所以,打算先搜索一部分资料以便加快速度。下面引文来自于http://cn.cocos2d-x.org/tutorial/show?id=1956。 本文大部分内容来自对这篇文章的翻译《 Coco

稍过段时间,打算把拇指接龙游戏教程案例修改为当前最新的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::stringstr=StringUtils::format( "%s.png" , "picture" );


CCDictinoary 用法改变

之前:

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

现在:

1
2
3
std::stringpath=FileUtils::getInstance()->fullPathForFilename( "name.plist" );
ValueMapdict=FileUtils::getInstance()->getValueMapFromFile(path);
ValueVectorarrLevels=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);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读