Добавление еще одного дочернего элемента в основной CCLayer приводит к тому, что другой дочерний элемент не работает должным образом

Я разрабатываю игру для Android с использованием cocos2d-x. В слое главного меню я поместил фоновое изображение, кнопку воспроизведения и также использовал класс CCSpriteParticleSystem, чтобы показать некоторый эффект падения снега. Проблема, с которой я сталкиваюсь, заключается в том, что когда я добавляю объект CCParticleSystem в качестве дочернего к основному слою, кнопка воспроизведения перестает работать. когда я нажимаю на кнопку воспроизведения, появляется черный экран и игра закрывается. Кто-нибудь может мне помочь, пожалуйста

Кодекс выглядит следующим образом:

     //Particle SYstem for snow fall effect 
     CCParticleSystem *particle = CCParticleSnow::create();
     particle->initWithTotalParticles(2000);

     particle->release();

     particle->setTexture(CCTextureCache::sharedTextureCache()->addImage("star.png"));

     particle->setPosition(ccp(Utils::s().height - 10, Utils::s().height - 10));


    this->addChild(particle,1);

     //now including a sprite sheet and then setting the background image
     s = CCDirector::sharedDirector()->getWinSize();

    CCString* file = (Utils::getArtScaleFactor() > 1) ? CCString::create("img-hd.plist") : CCString::create("img.plist");
    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(file->getCString());

    file = (Utils::getArtScaleFactor() > 1) ? CCString::create("main-hd.png") : CCString::create("main.png");
    CCSprite *bg = CCSprite::create(file->getCString());
    bg->setPosition(ccp(s.width/2,s.height/2));
    Utils::scaleSprite(bg);
    this->addChild(bg,-1);

    //below code creates a play button 

    CCMenuItemSprite *playButton =     CCMenuItemSprite::create(GameButton::buttonWithText("PLAY!",false), NULL, this, menu_selector(MainMenu::playGame));
    CCMenu *menu = CCMenu::create(playButton,NULL);
    menu->setPosition(ccp(s.width/2,s.height/2 - s.height/4.0f));

    this->addChild(menu,2);

в этом фрагменте кода используются несколько функций. buttonWithText (..) создает кнопку с текстом. Проблема в том, что когда я добавляю CCParticleSystem, кнопка Play не выполняет назначенную функцию

1 ответ

Я не могу понять, в чем проблема, но

particle->release();

это так странно

частица будет выпущена дважды

Другие вопросы по тегам