Hero* Hero::heroWithGame(GameLayer* game) { Hero* hero = new Hero(game); if (hero) { hero->autorelease(); return hero; } return NULL; }
Hero *Hero::heroWithinLayer() { Hero *pRet = new Hero(); if(pRet && pRet->heroInit()) { pRet->autorelease(); return pRet; } CC_SAFE_DELETE(pRet); return NULL; }
Hero *Hero::create(const char *name) { Hero *hero = new (std::nothrow) Hero(); if (hero && hero->init(name)) { hero->autorelease(); return hero; } CC_SAFE_DELETE(hero); return nullptr; }
Hero* Hero::create(const char *pszFileName) { Hero *pobSprite = new Hero(); if (pobSprite && pobSprite->initWithFile(pszFileName)) { pobSprite->autorelease(); return pobSprite; } CC_SAFE_DELETE(pobSprite); return NULL; }
Hero* Hero::createFromCsvFileByID( int iHeroID ) { Hero* hero = new Hero(); if(hero && hero->initFromCsvFileByID(iHeroID)) { hero->autorelease(); } else { CC_SAFE_DELETE(hero); } return hero; }
Hero* Hero::create( CCSprite* sprite ) { Hero* hero = new Hero(); if(hero && hero->init(sprite)) { hero->autorelease(); } else { CC_SAFE_DELETE(hero); } return hero; }
Hero* Hero::create(SimpleAnimation* pBaseSprite) { Hero* pRet = new Hero(); if(pRet && pRet->initWithAnimateAction(pBaseSprite)) { pRet->autorelease(); } return pRet; }
Hero * Hero::createWithWorld(b2World *world) { Hero *pRet = new Hero(); if (pRet && pRet->initWithWorld(world)) { pRet->autorelease(); } else { CC_SAFE_DELETE(pRet); } return pRet; }
Hero *Hero::createWithWorld(b2World *world) { Hero *node = new (std::nothrow) Hero(world); if (node) { node->init(); node->autorelease(); } else { CC_SAFE_DELETE(node); } return node; }
//静态方法,用于生成Hero实例 Hero* Hero::heroWithinLayer() { //new一个对象 Hero *pRet = new Hero(); //调用init方法 if (pRet && pRet->heroInit()) { //将实例放入autorelease池,统一由引擎控制对象的生命周期 pRet->autorelease(); return pRet; } CC_SAFE_DELETE(pRet); return NULL; }
Hero * Hero::create(int grade) { Hero *pRet = new Hero; if (pRet && pRet->init(grade)) { pRet->autorelease(); return pRet; } else { delete pRet; pRet = NULL; } return NULL; }
Hero * Hero::create(int pl, int pr, Vec2 pos, int d) { Hero* pRet = new(std::nothrow) Hero(); if (pRet && pRet->init(pl, pr, pos, d)) { pRet->autorelease(); return pRet; } else { delete pRet; pRet = NULL; return NULL; } }
Hero * Hero::heroWithWorld(b2World * w) { Hero *result = new Hero(); result->initWithWorld(w); result->autorelease(); return result; }