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. p1364 医院设置 题解

    思路:floyd 很普通的思路. 先用floyd求出两个边之间的距离,然后乘以人数. 代码: #include<iostream> #include<cstring> usin ...

  2. 使用RedisTemplate的操作类访问Redis(转载)

    原文地址:http://www.cnblogs.com/luochengqiuse/p/4641256.html private ValueOperations<K, V> valueOp ...

  3. Java——静态代理、动态代理

    https://blog.csdn.net/giserstone/article/details/17199755 代理的作用:业务类只需要关注业务逻辑本身,保证了业务类的重用性 一 静态代理 特点: ...

  4. Tushare基础调用及处理

    创建索引: db.daily.createIndex({code:1,date:1,'index':1}) mongodb查看表有几列: map = function() { for (var key ...

  5. CF 354 D 迷宫与门的旋转 BFS +状态压缩 一定要回头看看

    D. Theseus and labyrinth time limit per test 3 seconds memory limit per test 256 megabytes input sta ...

  6. codevs 1231 最优布线问题 x(find函数要从娃娃抓起系列)

                         题目描述 Description 学校需要将n台计算机连接起来,不同的2台计算机之间的连接费用可能是不同的.为了节省费用,我们考虑采用间接数据传输结束,就是一 ...

  7. 《Effective C++》结语

    九月的这三周把<Effective C++>重读了一遍,尽量以自己的理解,用最简单的(其实太深入也不会写)的语言把书里面的重点都写了下来. 由于之前找实习占用了大量的时间,写的博客都比较水 ...

  8. sql 建立索引之前计算区分度

    select cutomer_id,title,content from product_comment where audit_status=1 and product_id=1 and produ ...

  9. 51nod-1640--天气晴朗的魔法(简单最小生成树)

    1640 天气晴朗的魔法 题目来源: 原创 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 这样阴沉的天气持续下去,我们不免担心起他的健康. 51nod魔法学校近日 ...

  10. java从ldap中导出数据到ldif文件中

    原创:http://www.cnblogs.com/dqcer/p/7814034.html 导入ldap.jar包,笔者已对下面两个文件测试并通过.若有疑问欢迎留言 LDAPExport.java ...