您好,登錄后才能下訂單哦!
【嘮叨】
CCDeprecated.h中存放的都是2.x將要被拋棄的命名規范,主要包含類名、枚舉類型。
雖然說2.x的這些命名規范被CCDeprecated.h保留了。但是為了徹底學習3.x的新特性,就必須要盡量不要使用2.x的命名規范。
有些變更其實已經在:cocos2dx[3.x](3)——大巨變3.x 中做了詳細的說明了。
【CCDeprecated.h】
1、主要的變更有以下幾個方面
(1)去掉C++類的 "CC" 前綴
(2)去掉全局函數及常量的 "cc" 前綴,均變為 相應類 中的靜態成員函數及常量。
(3)去掉坐標運算的函數 "ccp" 前綴 ,均變為 Vec2類 中的靜態成員函數及常量。
(4)去掉繪圖原語的 "ccDraw" 前綴 ,使用 DrawPrimitives 命名空間。
(5)去掉OpenGL原語的 "ccGL" 前綴 ,使用 GL 命名空間。
(6)以 "k" 開頭的常量和枚舉量,現在均由強枚舉類型替代。
(7)其他改動
這些改動的詳細說明,請參照:cocos2dx[3.x](3)——大巨變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; |
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。