code-prettify

2014年4月10日 星期四

Cocos2d-x 2.x 到 3.x 筆記

Cocos2d-x 2.x to 3.x Note
Cocos2d-x 2.x 到 3.x 筆記

一、命名規範跳脫原本 Cocos2d 的 Object-C 規範,更接近 C++ 規範,像是去除 CC 前贅字。
Ex:
CCSize => Size
CCDirector => Director
CCSprite => Sprite
CCRectMake => Rect
ccp => Point

二、命名的變更除了類別之後,有些函式也有改變,像是 sharedXXX() 改為 getInstance()。
Ex:
sharedDirector() => getInstance()

三、儘可能使用 std lib,而非自己的函式,
Ex:
CallBackFunction 使用
2.x 寫法:
CCFiniteTimeAction* actionMoveDone =
CCCallFuncN::create( this, callfuncN_selector(HelloWorld::spriteMoveFinished));
3.0 寫法:
FiniteTimeAction* actionMoveDone =
CallFuncN::create(std::bind(&HelloWorld::spriteMoveFinished, this, std::placeholders::_1));

四、CCLabelTTF, CCLabelBMFont and CCLabelAtlas 改用 Label 取代

參考資料:
EventDispatcher Mechanism
http://www.cocos2d-x.org/docs/manual/framework/native/input/event-dispatcher/en

cocos2d-x 3.0 beta: the new Vector class
http://dev.bunnyhero.org/2014/01/cocos2d-x-30-beta-the-new-vector-class/

Improved Label in Cocos2d-x-3.0
http://www.cocos2d-x.org/docs/manual/framework/native/v3/label/en

沒有留言:

張貼留言