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;

cocos2dx[3.2](3) 浅析CCDeprecated.h的更多相关文章

  1. cocos2dx[3.2](1) 浅析cocos2dx3.2引擎目录

    3.x的引擎目录与2.x的引擎目录的差别是非常大的.3.x主要是将引擎的各个文件按照用途进行了分类,使得引擎目录结构更加清晰了. 从目录中我们主要了解一下以下几个文件: 文件名 说明 build 官方 ...

  2. [置顶] COcos2d-X 中文API

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

  3. cocos2dx调用浏览器打开网址

    安卓端cocos2dx/platform/android路径下CCApplication.h: virtual void openURL(const char* pszUrl); CCApplicat ...

  4. cocos2d-x编程的一些小技巧

    转自:http://blog.sina.com.cn/s/blog_61d2d3f50100zgz8.html 一.   CC_ASSERT 或 CCAssert宏 Assert - 断言 使用断言可 ...

  5. cocos2dx 环境搭建 win7 +vs2012+ cocos2dx-2.1.4

    转自:http://my.eoe.cn/swer03160828/archive/20067.html 1) 如果在win32 下面编写的cocos2dx 的代码其文件 .cpp,.h 的文件,基本上 ...

  6. cocos2dx lua binding ,cocos2dx 绑定lua测试

    前面2篇分别简单介绍 手动bind C++ 类和lua:http://blog.csdn.net/chenee543216/article/details/12074771 使用tolua++简化工作 ...

  7. XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=505 因为常用cocos2dx开 ...

  8. Cocos2dx项目在各种IDE中新建类之后的可行编译方式

    注:这里说可行,但是并不是最好的,只是可以完成编译. 1.linux+code::blocks下的cocos2dx项目新建一个类TestScene.h 新建的TestScene.h和TestScene ...

  9. 关于Cocos2d-x头文件的引用

    cocos2d-x 3.10的G:\cocoshome\Cocos2d-x\cocos2d-x-3.10\extensions\GUI\CCControlExtension\CCScale9Sprit ...

随机推荐

  1. 在table中加入<hr />标签为什么横线会跑到上边?

    这是我今天在写页面的时候发现的一个问题,万能的百度已经帮我找到答案啦!!!在此分享给你们吧 table>[caption|thead>tr|tbody>tr]>[th|td] ...

  2. 提高docker加载速度

    由于国情,我们需要对配置一下docker的下载镜像,提高一下后续的加载速度. 使用vim编辑 /etc/docker/daemon.json, 增加如下内容. { "registry-mir ...

  3. 从rc文件访问字符串

    有.rc文件,其中包含用于exe文件详细信息的版本,说明等. 如何获得在代码内使用的值?例如,要获取ProductName. IDI_ICON1 ICON DISCARDABLE "abc- ...

  4. shell中的控制流结构

    shell中的控制流结构 1.if...then..else..fi语句 2.case语句 3.for循环 4.until 语句 5.while循环 6.break控制 7.continue 控制 1 ...

  5. 安装Go语言及环境的搭建

    下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ 安装 Windows安装 此安装实例以 ...

  6. 【UOJ#37】 [清华集训2014] 主旋律

    题目链接 题目描述 给定一张强联通图,求有多少种边的存在情况满足图依然强联通. \(n\leq15\) Sol 首先正难则反,考虑用总数减去不强联通的. 考虑一张不强联通的图,缩点后一定是一个 DAG ...

  7. 【51nod1792】Jabby's segment tree

    题目 线段树是一种经典的数据结构,一颗[1,n]的线段树他的根是[1,n],当一个线段树的结点是[l,r]时,设mid=(l+r)>>1,则这个结点的左儿子右儿子分别是[l,mid],[m ...

  8. 什么是iframe及作用是什么?

    一. iframe是什么及作用 iframe是嵌入式框架, 是html标签, 还是一个内联元素, iframe 元素会创建包含另外一个文档的内联框架(即行内框架) . 说白了, iframe用来在页面 ...

  9. Js文件函数中调用另一个Js文件函数的方法

    在项目中Js文件需要完成某一功能,但这一功能的大部分代码在另外一个Js文件已经完成,只需要调用这个文件实现功能.那么如何调用:一个Js文件函数中调用另一个Js文件函数的方法? (直接代码说明) 示例d ...

  10. Implement GAN from scratch

    GANs from Scratch 1: A deep introduction. With code in PyTorch and TensorFlow 修改文章代码中的错误后的代码如下: impo ...