2015-12-09 7 views
0

В моей игре, сцена перед финальной сценой, он падает, когда я нажал следующую кнопку с сообщением;Cocos2d - последняя сцена не загружается - ребенок уже добавлен. Он не может быть добавлен снова

«ребенок уже добавил. Он не может быть добавлен снова»

Это сегмент кода сцены, заключительная сцена, которую я пытаюсь вызвать называется LastScene, однако он выходит из строя, прежде чем он загружает эту сцену ,

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; 
} 

ответ

0

если "CCDirector :: sharedDirector() -> replaceScene (LastScene :: сцена());" вызывается внутри вашего кода. Не может быть никаких причин для сбоев в вашей текущей Сцене.

Проверьте свой «LastScene».