2015-12-09 1 views
0

Dans mon jeu, la scène avant la scène finale, il se bloque lorsque j'ai cliqué sur le bouton suivant avec le message;Cocos2d - dernière scène non chargée - Enfant déjà ajouté. Il ne peut pas être ajouté à nouveau

« enfant déjà ajouté. Il ne peut pas être ajouté à nouveau »

Ceci est le segment de code de la scène, la scène finale, je suis en train d'appeler est appelé LastScene, mais il tombe en panne avant de charger cette scène .

bool LipsColorScene::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent) 
{ 
    CCPoint location = CCDirector::sharedDirector()->convertToGL(pTouch->getLocationInView()); 

    if(_next->isVisible()) 
     { 

    if(flagnext) 
    { 
    if(_next->boundingBox().containsPoint(location)) 
    { 

     LipsColorScene::flagnext=false; 
     CCLog("click next"); 
     _next->setVisible(false); 
     _next->setPosition(ccp(1500, -500)); 
     lipstickscrollview->setVisible(false); 
     imageForShowingMask->setVisible(false); 
     // this->setScale(1.0f); 
     lipstickscrollview->setVisible(false); 
     LipsColorScene::screenshot= this; 
     CCDirector::sharedDirector()->getRunningScene()->removeChild(screenshot); 
     lipstickscrollview->setVisible(false); 
       imageForShowingMask->setVisible(false); 
      // this->setScale(1.0f); 
       lipstickscrollview->setVisible(false); 
     // CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("sounds/btn_clicksound.mp3"); 
     CCDirector::sharedDirector()->replaceScene(LastScene::scene()); 
    } 
    } 
     } 
    if(imageForShowingMask->isVisible()) 
    { 

     if(imageForShowingMask->boundingBox().containsPoint(location)) 
     { 
      CCLOG("touch began"); 
      imageForShowingMask->setTag(1); 
      setMaskingParamsForCream(); 
      //sprayparticle->resetSystem(); 
      spongeSelected = true; 

      _eyes2->setVisible(true); 
     } 

    } 

    if(_table->boundingBox().containsPoint(location) && lipstickscrollview->isVisible()) 
    { 
     if (lipstickscrollview->isVisible() && lipstickscrollview->isVisible()) { 
      for (int i = 0; i < lipstickArr->count(); i++) { 
       CCSprite* tatoo = (CCSprite*)lipstickArr->objectAtIndex(i); 

       if(tatoo->boundingBox().containsPoint(tatoo->getParent()->convertToNodeSpace(location))) 
       { 
        //tatooscrollview->setVisible(false); 
        imageForShowingMask->setVisible(true); 
        LipStick(tatoo->getTag()); 

       } 
      } 
     } 
    } 


    return true; 
} 

Répondre

0

si "CCDirector :: sharedDirector() -> replaceScene (LastScene :: scene());" est appelé dans votre code. Il n'y a aucune raison de s'écraser dans votre Scène actuelle.

archivez votre "LastScene".