稍过段时间,打算把拇指接龙游戏教程案例修改为当前最新的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 前缀。
Cocos2d-x 类名改变
下面表格中的类名的转换就比较大了。
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 容器的标准用法了。
下面的信息来自这里。
触摸用法改变
单例类用法改变
CCTime 用法改变
CCTime在Cocos2d-x v3中已经被删除了。
范例:
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);
}
|
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。