// on "init" you need to initialize your instance bool RigScene::init() { if(!CCLayerColor::initWithColor(ccc4(0, 128, 255, 255))) return false; if(!initMouseCursor()) return false; //if(!initSceneName()) return false; //if(!initQuitButton()) return false; CCSize size = CCDirector::sharedDirector()->getWinSize(); // tiger renderTiger = new RigPartRender( "NPC/fight/boss_gaibang2/boss_gaibang2.xml" ); renderTiger->SetActionID(1); renderTiger->SetDirection(0); renderTiger->SetParentNode(this); direction = 0; action = 0; // !BUG: fix memory bug when create object // found a reason !!!! because RigPartRender for character part used many animation // i store it every object, so it cost very much ram // ! Bug killed at 2nd FEB 2013 for(int i = 0; i< 200; i++) { RigPartRender* render = new RigPartRender( "NPC/fight/boss_gaibang2/boss_gaibang2.xml" ); render->SetActionID(1); render->SetDirection(0); render->SetParentNode(this); render->SetPositionXY(60*(i%8)+150,i/8*60-50); render->SetPositionZ(1); } mMonkPlayer = new Character(); mMonkPlayer->SetFullCloth("tianwang3"); mMonkPlayer->SetHead("tianwang3"); mMonkPlayer->SetDualWeapon("blade1"); mMonkPlayer->ResetRender(); mMonkPlayer->SetWeaponState(WS_DUAL_WEAPON); mMonkPlayer->SetHorseState(HS_NOHORSE); mMonkPlayer->SetActionState(AS_ATTACK); mMonkPlayer->SetDirection(D_DOWNRIGHT); mMonkPlayer->SetPosition(420,70); mMonkPlayer->GetRender()->SetParentNode(this); mMonkPlayer->GetRender()->SetPositionZ(1); for(int i = 0; i< 50; i++) { Character* mPlayer; mPlayer = new Character(); mPlayer->SetFullCloth("tianwang3"); mPlayer->SetHead("tianwang3"); mPlayer->SetDualWeapon("blade1"); mPlayer->ResetRender(); mPlayer->SetActionState(AS_ATTACK); mPlayer->SetWeaponState(WS_DUAL_WEAPON); mPlayer->SetHorseState(HS_NOHORSE); mPlayer->SetDirection(D_DOWNRIGHT); mPlayer->SetPosition(i/15*80-120,i%15*50-50); mPlayer->GetRender()->SetParentNode(this); mPlayer->GetRender()->SetPositionZ(1); } return true; }