cocos2.x转换到cocos3.x有哪些变化?
来源:互联网 发布:泛普软件怎么样 编辑:程序博客网 时间:2024/05/16 08:54
CCDeprecated.h中存放的都是2.x将要被抛弃的命名规范,主要包含类名、枚举类型。
虽然说2.x的这些命名规范被CCDeprecated.h保留了。但是为了彻底学习3.x的新特性,就必须要尽量不要使用2.x的命名规范。
【CCDeprecated.h】
1、主要的变更有以下几个方面
(1)去掉C++类的"CC"前缀
(2)去掉全局函数及常量的"cc"前缀,均变为 相应类 中的静态成员函数及常量。
(3)去掉坐标运算的函数"ccp"前缀 ,均变为Vec2类 中的静态成员函数及常量。
(4)去掉绘图原语的"ccDraw"前缀 ,使用DrawPrimitives命名空间。
(5)去掉OpenGL原语的"ccGL"前缀 ,使用GL命名空间。
(6)以 "k" 开头的常量和枚举量,现在均由强枚举类型替代。
(7)其他改动
这些改动的详细说明,请参照:cocos2dx[3.x](3)——大巨变3.x
2、一些特殊的改动
2.1、类名替代
> Clonable 替代 CCCopying
CCCopying已经永久的被遗弃了,没有被保留下来。
> Ref替代Object
虽然CCObject被保留了(typedef Ref Object),但是以后就不要再用了,使用Ref吧!
Object命名也即将被遗弃。
> Vec2 替代 Point
其中:Vec2代表了2D坐标系,Vec3则是代表了3D坐标系。
Point命名也即将被遗弃。
> GLProgramCache 替代 ShaderCache
其中着色器类为GLProgram
ShaderCache命名也即将被遗弃。
> GLView 替代 CCEGLView
2.2、整合
> 对 Node进行了整合
typedef Node CCNode;
typedef Node CCNodeRGBA;
typedef Node CCRGBAProtocol;
可见,在3.x中已经将CCNodeRGBA、CCRGBAProtocol两个类整合到了Node类中。
即:在Node类中增加了颜色、透明度的控制:setColor(Color3B&)、setOpacity()。
> 对 Layer进行了整合
typedef Layer CCLayer;
typedef Layer CCLayerRGBA;
可见,在3.x中已经将CCLayerRGBA类整合到了Layer类中。
即:在Layer类中增加了颜色、透明度的控制:setColor(Color3B&)、setOpacity()。
2.3、强枚举类型替代 "k"
以下列举一些枚举类型的变更,更多详细的变更,请自己参考 CCDeprecated.h文件。
当然 "k" 开头的枚举变量命名也即将被遗弃。
//ccDirectorProjection
typedef Director::Projection ccDirectorProjection;
kCCDirectorProjection2D = Director::Projection::_2D;
kCCDirectorProjection3D = Director::Projection::_3D;
kCCDirectorProjectionCustom = Director::Projection::CUSTOM;
kCCDirectorProjectionDefault = Director::Projection::DEFAULT;
//CCVerticalTextAlignment
typedef TextVAlignment CCVerticalTextAlignment;
kCCVerticalTextAlignmentTop = TextVAlignment::TOP;
kCCVerticalTextAlignmentCenter = TextVAlignment::CENTER;
kCCVerticalTextAlignmentBottom = TextVAlignment::BOTTOM;
//CCTextAlignment
typedef TextHAlignment CCTextAlignment;
kCCTextAlignmentLeft = TextHAlignment::LEFT;
kCCTextAlignmentCenter = TextHAlignment::CENTER;
kCCTextAlignmentRight = TextHAlignment::RIGHT;
//ProgressTimerType
typedef ProgressTimer::Type ProgressTimerType;
kCCProgressTimerTypeRadial = ProgressTimer::Type::RADIAL;
kCCProgressTimerTypeBar = ProgressTimer::Type::BAR;
//ParticleSystem
ParticleSystem::Mode
kCCParticleModeGravity = ParticleSystem::Mode::GRAVITY;
kCCParticleModeRadius = ParticleSystem::Mode::RADIUS;
ParticleSystem::PositionType
kCCPositionTypeFree = ParticleSystem::PositionType::FREE;
kCCPositionTypeRelative = ParticleSystem::PositionType::RELATIVE;
kCCPositionTypeGrouped = ParticleSystem::PositionType::GROUPED;
//TransitionScene
TransitionScene::Orientation
kCCTransitionOrientationLeftOver = TransitionScene::Orientation::LEFT_OVER;
kCCTransitionOrientationRightOver = TransitionScene::Orientation::RIGHT_OVER;
kCCTransitionOrientationUpOver = TransitionScene::Orientation::UP_OVER;
kCCTransitionOrientationDownOver = TransitionScene::Orientation::DOWN_OVER;
//ResolutionPolicy
ResolutionPolicy
kResolutionExactFit = ResolutionPolicy::EXACT_FIT;
kResolutionNoBorder = ResolutionPolicy::NO_BORDER;
kResolutionShowAll = ResolutionPolicy::SHOW_ALL;
kResolutionFixedHeight = ResolutionPolicy::FIXED_HEIGHT;
kResolutionFixedWidth = ResolutionPolicy::FIXED_WIDTH;
kResolutionUnKnown = ResolutionPolicy::UNKNOWN;
2.4、其他被遗弃的类
这些类的类名为了防止重名,所以都在前面加上了 "__" 前缀。
typedef __NotificationCenter CCNotificationCenter;
typedef __NotificationCenter NotificationCenter;
typedef __CCCallFuncND CCCallFuncND;
typedef __CCCallFuncO CCCallFuncO;
typedef __RGBAProtocol RGBAProtocol;
typedef __NodeRGBA NodeRGBA;
typedef __LayerRGBA LayerRGBA;
//将被Map、Vector替代
typedef __Set CCSet;
typedef __Set Set;
typedef __SetIterator CCSetIterator;
typedef __SetIterator SetIterator;
typedef __Array CCArray;
typedef __Array Array;
typedef __Dictionary Dictionary;
typedef __Dictionary CCDictionary;
//将被Value替代
typedef __Double Double;
typedef __Double CCDouble;
typedef __Float Float;
typedef __Float CCFloat;
typedef __Integer Integer;
typedef __Integer CCInteger;
typedef __Bool Bool;
typedef __Bool CCBool;
typedef __String CCString;
typedef __String String;
- cocos2.x转换到cocos3.x有哪些变化?
- Cocos3.x跟Cocos2.x的区别
- cocos2.x升级到3.x的脚本
- 到了Vue2.x有哪些变化?—— 组件通信
- 到了Vue2.x有哪些变化?—— 组件通信
- cocos3.x触摸机制
- cocos3.X 惯性滑动
- cocos3.x 特效使用方法
- cocos3.x版本下载
- cocos2-x 利用CCCamera缩放
- cocos3.X拖动精灵移动
- cocos3.x创建不规则按钮
- COCOS2-X 切换场景动画类
- cocos2-x自带快捷处理方式
- Cocos2-x从入门到精通第16课《延时动作》
- cocos2d-x 3.0的坑有哪些
- Cocos2d-x 3.x的坑有哪些
- Python.2x改到Python3.x变化
- 行到水穷处,坐看云起时
- ASP.NET Web Forms – 教程
- 插入排序
- java对XML文档的操作之dom(使用jaxp,sun公司的自带包)
- UCC config文件
- cocos2.x转换到cocos3.x有哪些变化?
- Python3.6实现scrapy框架爬取数据并将数据插入MySQL与存入文档中
- [java异常注意]
- LintCode之三角形计数
- git常用命令集锦
- oj 中G++和C++区别
- 安卓开发 Dachshund-Tab-Layout选项卡布局
- thinkphp3.2 获取原生的mongoCollection
- HDU 6061