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. GCD实战之多个网络请求的并发

    // 创建信号量 dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); // 创建全局并行 dispatch_queue_t q ...

  2. 阅读之spring+Dubbo

    pringBoot+Dubbo 搭建一个简单的分布式服务 地址 什么是 Duboo? Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能.轻量级的开源Java RPC ...

  3. Acwing-96-奇怪的汉诺塔(递推)

    链接: https://www.acwing.com/problem/content/description/98/ 题意: 汉诺塔问题,条件如下: 1.这里有A.B.C和D四座塔. 2.这里有n个圆 ...

  4. user-select 用户禁止选中

    我们在页面输入的文本按理来说应该都是可以选中的,但是如何才能让显示出来的文本或是图片不被选中呢,这时候就需要用到 user-select 属性. user-select user-select (CS ...

  5. nginx命令和配置

    centos 6.8安装的nginx 1.12.2 1.nginx常用的命令 使用nginx命令前,进入到/usr/local/nginx/sbin/目录 1)查看nginx版本 进入到/usr/lo ...

  6. javascript中的原型和原型链(三)

    1. 图解原型链 1.1 “铁三角关系”(重点) function Person() {}; var p = new Person(); 这个图描述了构造函数,实例对象和原型三者之间的关系,是原型链的 ...

  7. UVA 10491 Cows and Cars (全概率公式)

    #include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<cmath> ...

  8. Linux 简单打印日志(二)

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> //# ...

  9. 隐藏表单域、URL重写、cookie、session

    隐藏表单域: 隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的.当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上. 代码格式:<input t ...

  10. 分布式-信息方式-ActiveMQ静态网络连接信息回流功能

    “丢失”的消息 有这样的场景, broker1和 broker2通过 netwoskconnector连接,一些 consumers连接到 broker1,消费 broker2上的消息.消息先被 br ...