void MenuLayerMainMenu::allowTouches(float dt) { CCDirector* pDirector = CCDirector::sharedDirector(); pDirector->getTouchDispatcher()->setPriority(kCCMenuHandlerPriority+1, this); unscheduleAllSelectors(); CCLog("TOUCHES ALLOWED AGAIN"); }
void Fly::deadAction() { //主机在死亡的时候会调用deadAction()方法 //先停止所有动作和定时器 stopAllActions(); unscheduleAllSelectors(); //制作主机死亡的动作 auto pAnimation = cocos2d::Animation::create(); auto pSpriteFrameCache = cocos2d::SpriteFrameCache::getInstance(); for (int i = 1; i <= FLY_BLOWUP_FRAME_COUNT; ++i) { pAnimation->addSpriteFrame(pSpriteFrameCache->getSpriteFrameByName(cocos2d::StringUtils::format("hero_blowup_%d.png", i))); } pAnimation->setDelayPerUnit(0.1f); pAnimation->setLoops(1); auto pAnimate = cocos2d::Animate::create(pAnimation); //制作主机死亡动作播放完成后的处理动作 auto pEnd = cocos2d::CallFunc::create([]() { SceneManager::getInstance()->changeScene(en_GameOverScene); CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic(GAME_OVER); }); //将死亡动作和死亡处理动作串行处理 runAction(cocos2d::Sequence::create(pAnimate, pEnd, NULL)); }
void MenuPrincipal::toPlayMenu(){ stopAllActions(); unscheduleAllSelectors(); removeFromParentAndCleanup(true); Scene* newScene = TransitionFade::create(0.7, ArcadeMenu::createScene()); Director::sharedDirector()->replaceScene(newScene); }
void CCCGameScrollView::scrollToPage( int nPage ) { // 关闭CCScrollView中的自调整 unscheduleAllSelectors(); CCPoint oOffset = getContentOffset(); // 调整位置 CCPoint adjustPos; if (m_eDirection == kCCScrollViewDirectionHorizontal) { adjustPos = ccp(-m_CellSize.width * nPage, 0); } else { adjustPos = ccp(0, m_CellSize.height * nPage); } // 调整动画时间 float adjustAnimDelay = ccpDistance(adjustPos, oOffset) / m_fAdjustSpeed; // 调整位置 setContentOffsetInDuration(adjustPos, adjustAnimDelay); if (nPage != m_nCurPage) { m_nCurPage = nPage; scheduleOnce(schedule_selector(CCCGameScrollView::onScrollEnd), adjustAnimDelay); } }
void BigDude::die(){ CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("boom2.mp3"); this->_alive = false; EnemyController::enemies.eraseObject(this); EnemyController::showCaseEnemies.pushBack(this); EffectManager::createExplosion(getPosition()); Point nowPoint = this->getPosition(); log("now X: %f Y:%f \n",nowPoint.x,nowPoint.y); Point targetPos = Point(nowPoint.x,nowPoint.y-200); log("now X: %f Y:%f \n",targetPos.x,targetPos.y); unscheduleAllSelectors(); this->runAction( Sequence::create( Spawn::create( EaseSineOut::create(MoveTo::create(2, targetPos)), EaseSineOut::create(ScaleTo::create(2,0.3)),//TODO: replace with move 3d when possible //EaseBackOut::create(RotateBy::create(2,Vertex3F(CC_RADIANS_TO_DEGREES((nowPoint-targetPos).getAngle()),CC_RADIANS_TO_DEGREES((nowPoint-targetPos).getAngle())+45,-CC_RADIANS_TO_DEGREES((nowPoint-targetPos).getAngle())+90))), RotateBy::create(2, Vertex3F(360+CCRANDOM_0_1()*600, 360+CCRANDOM_0_1()*600, 360+CCRANDOM_0_1()*600)), nullptr ), CallFunc::create(this,callfunc_selector(BigDude::fall)), nullptr )); }
void ScrollBar::Refresh() { if( this->getScaleX() == 0.0f || this->getScaleY() == 0.0f ) FadeIn(NULL); unscheduleAllSelectors(); //scheduleOnce( schedule_selector(UIFlowScrollBar::FadeOut), _fadeDelayTime ); float offset = 0; switch( _type ) { case VERTICAL_IN: case VERTICAL_OUT: offset = _target->getContentOffset().y; _nowContentSize = _target->getContentSize().height; break; case HORIZONTAL_IN: case HORIZONTAL_OUT: offset = _target->getContentOffset().x; _nowContentSize = _target->getContentSize().width; break; } this->setVisible( _nowContentSize >= _svFixSize ); RefreshScale(); RefreshPosition(); }
void Carrot::CarrotBeHurt(Ref * pRef) { SoundUtil::getInstance()->playEffect(CARROTCRASH); MonsterBase * pMonster = (MonsterBase *)pRef; iHp -= pMonster->getIAtk(); if (iHp <= 0) { GameManager::getInstance()->setICarrotHp(0); auto tGameEndType = en_GameLose; NOTIFY->postNotification("gameEnd", reinterpret_cast<Ref*>(&tGameEndType)); NOTIFY->removeAllObservers(this); return; } GameManager::getInstance()->setICarrotHp(iHp); Director::getInstance()->getEventDispatcher()->removeEventListenersForTarget(getSprite()); unscheduleAllSelectors(); _HpSprite->setSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(StringUtils::format("BossHP%02d.png",iHp))); std::string HurtSpriteName; if (iHp == 5 || iHp == 7) { HurtSpriteName = StringUtils::format("hlb%d.png", iHp + 1); } else { HurtSpriteName = StringUtils::format("hlb%d.png", iHp); } getSprite()->stopAllActions(); getSprite()->setSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(HurtSpriteName)); }
void ImagePicker::finished() { if (ready) { unscheduleAllSelectors(); CCSprite *result; #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) std::string path = getImagePathJNI(); result = CCSprite::create(path.c_str()); #endif #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) result = ObjCCalls::image(); #endif result->setPosition(_position); if (_target) // _target->addChild(result); last = result; working = false; if (_delegate) _delegate->didFinishPickingWithResult(true); } }
void ActorBase::actorLogic(){ if (mActorData->getblood()<=0) { stopAllActions(); unscheduleAllSelectors(); isDead =true; StateToDead(); return; } if (!isDead&& _target&&!startTowerFight) { if (_target-> mActorData->getblood()<=0) { StateToStand(); unschedule(schedule_selector(ActorBase::fire)); _target =NULL; //CC_SAFE_RELEASE_NULL(_target); // scheduleOnce(schedule_selector(ActorBase::findAnotherTarget), 2.0f) ; } } if (!isDead&& _towerTarget&&startTowerFight) { if (_towerTarget-> getBlood()<=0) { ForceAttackTower = false; StateToStand(); unschedule(schedule_selector(ActorBase::fire)); _towerTarget =NULL; } } findAnotherTarget(); }
LHParallaxNode::~LHParallaxNode(void){ // CCLog("LHParallaxNode dealloc"); unscheduleAllSelectors(); if(NULL != followedSprite) followedSprite->parallaxFollowingThisSprite = NULL; followedSprite = NULL; if(removeSpritesOnDelete) { #if COCOS2D_VERSION >= 0x00020000 CCArray* tempSprites = CCArray::create(); #else CCArray* tempSprites = CCArray::array(); #endif tempSprites->addObjectsFromArray(sprites); for(int i = 0; i< tempSprites->count(); ++i) { LHParallaxPointObject* pt = (LHParallaxPointObject*)tempSprites->objectAtIndex(i); if(pt->ccsprite){ ((LHSprite*)pt->ccsprite)->setParallaxNode(NULL); ((LHSprite*)pt->ccsprite)->removeSelf(); } } tempSprites->removeAllObjects(); } sprites->removeAllObjects(); delete sprites; }
void Presentation::update(float dt) { stopAllActions(); unscheduleAllSelectors(); removeFromParentAndCleanup(true); Scene* newScene = TransitionFade::create(0.8, MenuPrincipal::createScene()); Director::sharedDirector()->replaceScene(newScene); }
void GameOver::closeAndSave() { //_nickname_input->getString(); CCLog("CERRANDO Y GUARDANDO %s", _nickname.c_str()); int score_pos = UserDefault::sharedUserDefault()->getIntegerForKey("score_pos", 0); char score_name[80]; char score_name_key[80]; char score_pos_key[80]; UserDefault::sharedUserDefault()->setIntegerForKey(score_name, _time_finished); for(int iScore = 0; iScore < MAX_ITEMS_SCORE; iScore++) { sprintf(score_pos_key,"score_pos_%d", iScore); int score_time = UserDefault::sharedUserDefault()->getIntegerForKey(score_pos_key, 0); if(_time_finished > score_time) { score_pos = iScore; } } sprintf(score_name_key, "score_name_%d", score_pos); sprintf(score_pos_key,"score_pos_%d", score_pos); UserDefault::sharedUserDefault()->setIntegerForKey(score_pos_key, _time_finished); UserDefault::sharedUserDefault()->setStringForKey(score_name_key, _nickname); UserDefault::sharedUserDefault()->flush(); //VOLVIENDO AL MENU stopAllActions(); unscheduleAllSelectors(); removeFromParentAndCleanup(true); Scene* newScene = TransitionFade::create(0.7, NeuronMenu::createScene()); Director::sharedDirector()->replaceScene(newScene); }
Role::~Role() { stopAllActions(); unscheduleAllSelectors(); if (mAIManager) mAIManager->release(); gConfigManager->getRoleManager()->remove(this); }
void MenuPrincipal::onKeyReleased(EventKeyboard::KeyCode keyCode, cocos2d::Event *event){ if(keyCode == EventKeyboard::KeyCode::KEY_BACKSPACE){ std::cout << __FUNCTION__ << std::endl; stopAllActions(); unscheduleAllSelectors(); removeFromParentAndCleanup(true); Director::getInstance()->end(); } }
void LSWProgressTimer::scheduleProgressTimer(float dt) { auto progressTimer = (ProgressTimer *)getChildByTag(100); progressTimer->setPercentage(progressTimer->getPercentage() + 10); if (progressTimer->getPercentage() >= 100) { unscheduleAllSelectors(); } }
CCControlStepper::~CCControlStepper() { unscheduleAllSelectors(); CC_SAFE_RELEASE(m_pMinusSprite); CC_SAFE_RELEASE(m_pPlusSprite); CC_SAFE_RELEASE(m_pMinusLabel); CC_SAFE_RELEASE(m_pPlusLabel); }
ControlStepper::~ControlStepper() { unscheduleAllSelectors(); CC_SAFE_RELEASE(_minusSprite); CC_SAFE_RELEASE(_plusSprite); CC_SAFE_RELEASE(_minusLabel); CC_SAFE_RELEASE(_plusLabel); }
void IFShakeGuideLayer::onTouchEnded(CCTouch* pTouch,CCEvent* pEvent){ if(!isTouchInside(m_touchNode, pTouch) && clickFlag()){ unscheduleAllSelectors(); removeOneself(0); return; } if(isTouchInside(btnPic1, pTouch)){ NotShowAgain(); return; } }
void Boss::disappear() { g_pEventEngine->BundlerCall(BUND_ID_BOSS_DISAPPEAR, this, sizeof(this)); unscheduleAllSelectors(); stopAllActions(); string ejson = string("Animation/Effect/") + m_pConfig->boom + ".ExportJson"; ArmatureDataManager::getInstance()->addArmatureFileInfo(ejson); m_pBoom = Armature::create(m_pConfig->boom); m_pBoom->getAnimation()->play("boom"); this->addChild(m_pBoom); m_pBoom->getAnimation()->setMovementEventCallFunc(this, movementEvent_selector(Boss::playActionOver)); }
void SnakeLayer::gameOver() { unscheduleAllSelectors(); unscheduleUpdate(); GameSettings::SnakeLastScore = score; if (GameSettings::SnakeLastScore > GameSettings::SnakeHighScore) GameSettings::SnakeHighScore = GameSettings::SnakeLastScore; GameSettings::SaveSettings(); static_cast<SnakeScene*>(getParent())->showGameOver(); }
void GameWorld::GameOver() { SOUND_ENGINE->playEffect("game_over.wav"); unscheduleAllSelectors(); setTouchEnabled(false); // create & add the game over popup GameOverPopup* game_over_popup = GameOverPopup::create(this, score_); addChild(game_over_popup, E_LAYER_POPUP); }
void GameScene::gameOver() { isGameOver = true; unscheduleAllSelectors(); scheduleUpdate(); for (int i = 0; i < hitCheckArray->count(); i++) { CCSprite* pipe = (CCSprite*)hitCheckArray->objectAtIndex(i); pipe->stopAllActions(); } CCSprite* land = (CCSprite*)getChildByTag(TAG_LAND); land->stopAllActions(); }
//----------------------------------------------- // // void CFightGroundLayer::SheduleWin( ccTime tt ) { CFightFinish *pFightFinish = new CFightFinish( true ); pFightFinish->init(); pFightFinish->autorelease(); addChild( pFightFinish, 100 ); unscheduleAllSelectors(); schedule( schedule_selector(CFightGroundLayer::ScheudleExit),2.0f ); string strSendMail = GetGameDayAndTime() + ","; strSendMail = strSendMail + m_pPetLeft->GetPetData()->playername; CurlTest::ShareInstance()->SendMail( m_pPetLeft->GetPetData()->userid, m_pPetRight->GetPetData()->userid, strSendMail.c_str() ); }
void GameScene::restart(CCObject* obj) { CC_SAFE_RELEASE(pipeArray); CC_SAFE_RELEASE(hitCheckArray); stopAllActions(); unscheduleAllSelectors(); CCMenuItemSprite* item = (CCMenuItemSprite*)obj; CCScaleTo* scale = CCScaleTo::create(0.1f, 1.2f); CCScaleTo* scale2 = CCScaleTo::create(0.1f, 1.0f); CCSequence* seq = CCSequence::create(scale, scale2, NULL); item->runAction(seq); CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create(1.5f, GameScene::scene())); }
void SchedulerUpdate::removeUpdates(float dt) { auto& children = getChildren(); for (auto& c : children) { auto obj = static_cast<Ref*>(c); auto node = static_cast<Node*>(obj); if (! node) { break; } node->unscheduleAllSelectors(); } }
void SnakeScene::updateMove(float) { if (dead) unscheduleAllSelectors(); if (current == old) return; if (fabs(current.x) > fabs(current.y)) { if (current.x > threshold.width) move(Directions::Right); else if (current.x < -threshold.width) move(Directions::Left); } else if (fabs(current.y) > fabs(current.x)) { if (current.y > threshold.height) move(Directions::Up); else if (current.y < threshold.height) move(Directions::Down); } old = current; }
void CCCGameScrollView::scrollToPage( int nPage ) { // 关闭CCScrollView中的自调整 unscheduleAllSelectors(); CCPoint oOffset=getContentOffset(); // 调整位置 CCPoint adjustPos=ccp(-m_CellSize.width*nPage,0); // 调整动画时间 float adjustAnimDelay=ccpDistance(adjustPos,oOffset)/m_fAdjustSpeed; // 调整位置 setContentOffsetInDuration(adjustPos, adjustAnimDelay); if (nPage!=m_nPrePage) { schedule(schedule_selector(CCCGameScrollView::onScrollEnd),adjustAnimDelay,0,0.0f); m_nPrePage=nPage; } }
void Arcade::showLosser(){ _stop = true; stopAllActions(); unscheduleAllSelectors(); CocosDenshion::SimpleAudioEngine::sharedEngine()->stopBackgroundMusic(true); PLAY_MUSIC("musica y sonidos/pierde.ogg"); Sprite* win = Sprite::create("efectos/pierde.png"); Point pos_win(visibleSize.width/2, visibleSize.height - win->getContentSize().height); win->setPosition(pos_win); this->addChild(win); _goto_menu = true; auto a_menu = MenuItemImage::create( "botones/boton_pierde.png", "botones/boton_pierde_presionado.png", CC_CALLBACK_0(Arcade::restartGame, this) ); auto menu = Menu::create(a_menu,NULL); menu->setPosition(Point(visibleSize.width/2, visibleSize.height/2 + a_menu->getContentSize().height/2)); this->addChild(menu); }
void Level15::onTimer() { nCnt++; if(bStar1 && bStar2){ lbSecond->runAction(CCSequence::create(CCDelayTime::create(1.0f),CCCallFunc::create(this, callfunc_selector(Level15::playEffect2)), CCFadeIn::create(1.0f), NULL)); // this->setTouchEnabled(false); unscheduleAllSelectors(); return; } if(!g_bAuto) return; if (!bStar1 && nCnt >= 100) { nCnt = 0; shadowStar1->setVisible(false); bStar1 = true; pickup(star1); } if (!bStar2 && nCnt >= 100) { nCnt = 0; bStar2 = true; shadowStar2->setVisible(false); pickup(star2); } }
void HelloWorld::Render(CCObject* sender, ::cocos2d::gui::TouchEventType type) { if (type == ::cocos2d::gui::TOUCH_EVENT_ENDED) { if(SceneHelper::sharedSceneHelper()->isTouchRender()) { return; } if (SceneHelper::sharedSceneHelper()->isDownloading()) { return; } if(!SceneHelper::sharedSceneHelper()->isHaveResources()) { return; } ::cocos2d::gui::UIButton* render = static_cast<cocos2d::gui::UIButton*>(sender); render->setBright(false); render->setTouchEnabled(false); SceneHelper::sharedSceneHelper()->loadConfig(); SceneHelper::sharedSceneHelper()->saveSerchPath(); if (strcmp(FileInfo::sharedFileInfo()->getFilename(), "") == 0) { render->setBright(false); render->setTouchEnabled(true); return; } SceneHelper::sharedSceneHelper()->setTouchRender(true); SceneRender* pScene = new SceneRender(FileInfo::sharedFileInfo()->getFilename()); unscheduleAllSelectors(); CCDirector::sharedDirector()->replaceScene((CCScene*)pScene); SceneHelper::sharedSceneHelper()->setNowRunning(RENDER); } }