cocos2dx[3.2](3) 浅析CCDeprecated.h
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相关推荐
- 手游安全之cocos2d-x的源码浅析(手游逆向与防护)
一.cocos2d-x框架结构 二.cocos2d-x引擎架构 三.cocos2d-x源码结构 四.cocos2d-x源码解析 1.luaLoadBuffer函数分析 cocos2d-x-3.16/c ...
- glibc2.32源码浅析 -- string.h(memcpy - 内存拷贝)
鉴于博主我是个汇编渣渣(底层逻辑是大佬们用汇编写的,淦),本文不是要深入探析memcpy的细节,而仅仅是在宏观层面上搞清楚这个函数的逻辑. 如果有想搞清楚具体细节的友友们,我会在文章最下面贴上我写本文 ...
- COcos2d-X 中文API
本文来自http://blog.csdn.net/runaying ,引用必须注明出处! COcos2d-X 中文API 温馨提醒:使用二维码扫描软件,就可以在手机上访问我的博客啦!另外大家可以访问另 ...
- fairygui绑定android,FairyGUI在Cocos2d-x下的多平台接入和lua绑定
接入前确保你的项目在接入前可以通过cocos compile -p xxx 命令正常编译打包,每接入一个平台都可以通过此命令编译打包以确认是否接入正常. 预备 复制libfairygui到framew ...
- 解决Cocos2d-x编写Windows游戏时创建项目的困难
本文章属于个人原创,因为所涉及的技术并不高,很有可能出现雷同, 如需转载,请注明出处,如有错漏,还望指正,谢谢谅解!!! 小弟MOMO刚刚开始接触cocos2dx,菜鸟一个.首先的问题就是环境搭建了, ...
- 如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第一部分
程序截图: 本教程将会教大家如何使用Cocos2d-x来做一个基于tile地图的游戏,当然还有Tiled地图编辑器.(我们小时候玩的小霸王小学机里面的游戏,大部分都是基于tile地图的游戏,如坦克大战 ...
- (一)cocos2d-x初识
cocos2d简介 cocos2d国人维护开发的游戏引擎,比较适合做2d游戏 优势:跨平台,免费,开源 主要版本:cocos2d-iPhone,Cocos2d-X,Cocos2d-HTML5,Java ...
- cocos API 中文
本文来自http://blog.csdn.net/runaying ,引用必须注明出处! COcos2d-X 中文API 温馨提醒:使用二维码扫描软件,就可以在手机上访问我的博客啦!另外大家可以访问另 ...
- 妙味课堂——HTML+CSS基础笔记
妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...
- Cocos2dx-Lua 使用Curl下载zip压缩文件并解压
因为工作上的需求要用到异步下载文件并解压使用,在网上找了一部分资料,发现好多都是零碎的,所以我在这里做个整合.(51开源时代) 首先还是要感谢 @iuoon 大佬提供的CurlDown源码和 @zsi ...
最新文章
- 正则化方法之DropBlock
- python字符计数怎样去除空格_去除python中的字符串空格的简单方法
- laravel redis_如何将redis优化
- Python高级数据类型模块collections
- 电脑ip地址设置_路由器怎么设置静态IP 路由器设置静态IP方法【详解】
- 传递参数的2种情况的理解。
- 怎样解决MySQL数据库主从复制延迟的问题?
- 原生ajax通过post或者get下载文件,或处理IE浏览器因为后缀不能显示图片
- Elasticsearch 之(3)安装、启动elasticsearch和kibana
- 咪蒙,毕业两年成阿里P7,不止阿里HR不同意......
- python免费 爬取原创力文档并转换成pdf(部分版)
- qqkey获取原理_【逆向】QQkey盗号木马原理分析
- Windows7系统环境变量path的配置方法
- mysql 全库备份_MySQL 数据库完全备份
- 关于UE4坐标换算涉及到的知识
- 消除无法用内置管理账户打开sticky notes
- 【网页设计】期末大作业html+css(B站首页 1页 带js轮播)
- 【JZOJ B组】【JSOI2013】吃货JYY
- 树莓派html5播放器,QT+树莓派实现一个简单的播放器
- 6-使用VMWARE虚拟机调试XPE的方法
热门文章
- [日常] NOIp 2018 滚粗记
- 债券基金收益与哪些因素有关?
- php中圆周率怎样定义_php求圆周率的简单实现方法 原创
- SEO原创AI:效果优势揭秘!
- 刘韧:经常带孩子去图书馆是最好的教育开始
- 语料库技术与应用—基于维基百科构建日语平行语料并爬取谷歌翻译语音(mp3)
- 【Android】Kotlin中对Map的key或者value数据的遍历
- scipy.io.matlab.miobase.MatWriteError: Matrix too large to save with Matlab 5 format
- 马化腾:微商让我很头疼
- 标准员报考建筑八大员报考工程施工质量标准化滞后的原因分析