void StarMatrix::deleteSelectedList() { if(selectedList.size() <= 1) { m_layer->hideLinkNum(); selectedList.at(0)->setSelected(false); return; } for(auto it = selectedList.begin();it != selectedList.end();it++) { Star* star = *it; showStarParticleEffect(star->getColor(),star->getPosition(),this); stars[star->getIndexI()][star->getIndexJ()] = nullptr; star->removeFromParentAndCleanup(true); Audio::getInstance()->playPop(); } showComboEffect(selectedList.size(),this); Audio::getInstance()->playCombo(selectedList.size()); refreshScore(); m_layer->showLinkNum(selectedList.size()); adjustMatrix(); if(isEnded()) { m_layer->floatLeftStarMsg(getLeftStarNum()); CCLOG("ENDED"); } }
void StarMatrix::deleteSelectedList(){ //播放消除音效 Audio::getInstance()->playPop(); for(auto it = selectedList.begin();it != selectedList.end();it++){ Star* star = *it; m_layer->showEveryScore(selectedListSize,5+(selectedListSize-selectedList.size())*5,selectedListSize-selectedList.size(),star->getPosition(),touchLeft); selectedList.pop_front(); //粒子效果 showStarParticleEffect(star->getColor(),star->getPosition(),this); stars[star->getIndexI()][star->getIndexJ()] = nullptr; star->removeFromParentAndCleanup(true); return; } clearOneByOne =false; //COMBO效果 showComboEffect(selectedListSize,this); m_layer->showLinkNum(selectedListSize); selectedListSize=0; acceptTouch =true; adjustMatrix(); if(isEnded()){ acceptTouch=false; m_layer->hideProps(); m_layer->floatLeftStarMsg(getLeftStarNum());//通知layer弹出剩余星星的信息 CCLOG("ENDED"); } }