About static contructor API changes in cocos2d-...

你們應該看到新版本了,但不知有沒有注意到這個改變,我在這簡單翻譯下,因爲e文水平不咋樣,不足還請指正:翻譯

以前,咱們用 OBJ-C 風格的API來建立對象,例如建立一個精靈:code

CCSprite* pSprite = CCSprite::spriteWithFile ("filename.png");

可是這種風格對於C++語言來講是不友好的!所以咱們給絕大多數類添加了一個靜態生成器
。如今,建立一個對象,你只須要記住一個名爲create的生成器。
像'CCSprite::create','CCNode::create','CCMoveTo::create','CCCallfunc::create'等等.
例如:

CCSprite *spr = CCSprite::create("Images/grossini.png");
    spr->setPosition(ccp(100, 100));
    addChild(spr);
    CCMoveBy* act1 = CCMoveBy::create(0.5, ccp(100, 0));
    CCMoveBy* act2 = (CCMoveBy*)act1->reverse();
    CCFiniteTimeAction* act3 = CCSequence::create(act1, act2, NULL);
    CCRepeat* act4 = CCRepeat::create(act3, 2);
    spr->runAction(act4);

全部用create建立的對象是autorelease的,除非你調用了retain方法,不然它是不須要手動release的。
雖然咱們爲絕大多數類添加了create API,但咱們也保留了 obj-c 風格的API;但咱們標記了它們爲@deprecated。
而且在這些舊的API開頭建立了一個名爲CC_DEPRECATED_ATTRIBUTE的宏,他們在你用這些舊的API建立對象時發出警告。
假如你正在使用舊的API來建立對象,咱們強烈建議你更換成使用新的API,由於舊的API早晚會被丟棄。
相關文章
相關標籤/搜索