GameMap* GameMap::gameMapWithTMXFile(const char *tmxFile) { GameMap *pRet = new GameMap(); if (pRet->initWithTMXFile(tmxFile)) { pRet->extraInit(); pRet->autorelease(); return pRet; } CC_SAFE_DELETE(pRet); return NULL; }
//静态方法,用于生成GameMap实例 GameMap* GameMap::gameMapWithTMXFile(const char *tmxFile) { //new一个对象 GameMap *pRet = new GameMap(); //调用init方法 if (pRet->initWithTMXFile(tmxFile)) { ////调用额外的init方法 pRet->extraInit(); ////将实例放入autorelease池,统一由引擎控制对象的生命周期 pRet->autorelease(); return pRet; } CC_SAFE_DELETE(pRet); return NULL; }