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.2](2) 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;

转载于:https://www.cnblogs.com/lmx282110xxx/p/10798698.html

cocos2dx[3.2](3) 浅析CCDeprecated.h相关推荐

  1. 手游安全之cocos2d-x的源码浅析(手游逆向与防护)

    一.cocos2d-x框架结构 二.cocos2d-x引擎架构 三.cocos2d-x源码结构 四.cocos2d-x源码解析 1.luaLoadBuffer函数分析 cocos2d-x-3.16/c ...

  2. glibc2.32源码浅析 -- string.h(memcpy - 内存拷贝)

    鉴于博主我是个汇编渣渣(底层逻辑是大佬们用汇编写的,淦),本文不是要深入探析memcpy的细节,而仅仅是在宏观层面上搞清楚这个函数的逻辑. 如果有想搞清楚具体细节的友友们,我会在文章最下面贴上我写本文 ...

  3. COcos2d-X 中文API

    本文来自http://blog.csdn.net/runaying ,引用必须注明出处! COcos2d-X 中文API 温馨提醒:使用二维码扫描软件,就可以在手机上访问我的博客啦!另外大家可以访问另 ...

  4. fairygui绑定android,FairyGUI在Cocos2d-x下的多平台接入和lua绑定

    接入前确保你的项目在接入前可以通过cocos compile -p xxx 命令正常编译打包,每接入一个平台都可以通过此命令编译打包以确认是否接入正常. 预备 复制libfairygui到framew ...

  5. 解决Cocos2d-x编写Windows游戏时创建项目的困难

    本文章属于个人原创,因为所涉及的技术并不高,很有可能出现雷同, 如需转载,请注明出处,如有错漏,还望指正,谢谢谅解!!! 小弟MOMO刚刚开始接触cocos2dx,菜鸟一个.首先的问题就是环境搭建了, ...

  6. 如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第一部分

    程序截图: 本教程将会教大家如何使用Cocos2d-x来做一个基于tile地图的游戏,当然还有Tiled地图编辑器.(我们小时候玩的小霸王小学机里面的游戏,大部分都是基于tile地图的游戏,如坦克大战 ...

  7. (一)cocos2d-x初识

    cocos2d简介 cocos2d国人维护开发的游戏引擎,比较适合做2d游戏 优势:跨平台,免费,开源 主要版本:cocos2d-iPhone,Cocos2d-X,Cocos2d-HTML5,Java ...

  8. cocos API 中文

    本文来自http://blog.csdn.net/runaying ,引用必须注明出处! COcos2d-X 中文API 温馨提醒:使用二维码扫描软件,就可以在手机上访问我的博客啦!另外大家可以访问另 ...

  9. 妙味课堂——HTML+CSS基础笔记

    妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...

  10. Cocos2dx-Lua 使用Curl下载zip压缩文件并解压

    因为工作上的需求要用到异步下载文件并解压使用,在网上找了一部分资料,发现好多都是零碎的,所以我在这里做个整合.(51开源时代) 首先还是要感谢 @iuoon 大佬提供的CurlDown源码和 @zsi ...

最新文章

  1. 正则化方法之DropBlock
  2. python字符计数怎样去除空格_去除python中的字符串空格的简单方法
  3. laravel redis_如何将redis优化
  4. Python高级数据类型模块collections
  5. 电脑ip地址设置_路由器怎么设置静态IP 路由器设置静态IP方法【详解】
  6. 传递参数的2种情况的理解。
  7. 怎样解决MySQL数据库主从复制延迟的问题?
  8. 原生ajax通过post或者get下载文件,或处理IE浏览器因为后缀不能显示图片
  9. Elasticsearch 之(3)安装、启动elasticsearch和kibana
  10. 咪蒙,毕业两年成阿里P7,不止阿里HR不同意......
  11. python免费 爬取原创力文档并转换成pdf(部分版)
  12. qqkey获取原理_【逆向】QQkey盗号木马原理分析
  13. Windows7系统环境变量path的配置方法
  14. mysql 全库备份_MySQL 数据库完全备份
  15. 关于UE4坐标换算涉及到的知识
  16. 消除无法用内置管理账户打开sticky notes
  17. 【网页设计】期末大作业html+css(B站首页 1页 带js轮播)
  18. 【JZOJ B组】【JSOI2013】吃货JYY
  19. 树莓派html5播放器,QT+树莓派实现一个简单的播放器
  20. 6-使用VMWARE虚拟机调试XPE的方法

热门文章

  1. [日常] NOIp 2018 滚粗记
  2. 债券基金收益与哪些因素有关?
  3. php中圆周率怎样定义_php求圆周率的简单实现方法 原创
  4. SEO原创AI:效果优势揭秘!
  5. 刘韧:经常带孩子去图书馆是最好的教育开始
  6. 语料库技术与应用—基于维基百科构建日语平行语料并爬取谷歌翻译语音(mp3)
  7. 【Android】Kotlin中对Map的key或者value数据的遍历
  8. scipy.io.matlab.miobase.MatWriteError: Matrix too large to save with Matlab 5 format
  9. 马化腾:微商让我很头疼
  10. 标准员报考建筑八大员报考工程施工质量标准化滞后的原因分析