Action* RotateTo::copy () { RotateTo* rotateTo = new RotateTo( rotation, duration); if (NULL != interpolator) rotateTo->setInterpolator( interpolator->copy()); return rotateTo; }
RotateTo* RotateTo::create(float fDuration, float fDeltaAngleX, float fDeltaAngleY) { RotateTo* pRotateTo = new RotateTo(); pRotateTo->initWithDuration(fDuration, fDeltaAngleX, fDeltaAngleY); pRotateTo->autorelease(); return pRotateTo; }
RotateTo* RotateTo::create(float rotate_x, float rotate_y, float rotate_z, long _time) { RotateTo* ret = nullptr; gbAlloc(ret); ret->m_dstRotate.x = rotate_x; ret->m_dstRotate.y = rotate_y; ret->m_dstRotate.z = rotate_z; ret->m_remainTimer = _time; ret->autorelease(); return ret; }
void Akuerdate::JuegoTerminado(){ CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("ganar.mp3"); escuchadores = false; juegoTerminado = true; LayerColor *lyConseguido = LayerColor::create(Color4B(124,180,224,200)); lyConseguido->setPosition(cuadroJuego->getPosition()); lyConseguido->setContentSize(cuadroJuego->getContentSize()); lyConseguido->setLocalZOrder(20); addChild(lyConseguido); Sprite *foco = Sprite::create("preguntator_focoLuz.png"); foco->setScaleX(escalaAlta); foco->setScaleY(0); foco->setScaleZ(escalaAlta); foco->setAnchorPoint(Vec2(0.5,1)); foco->setPosition(lyConseguido->getContentSize().width/2,lyConseguido->getContentSize().height); lyConseguido->addChild(foco); //animacion foco ScaleTo *aniFoco = ScaleTo::create(0.7, escalaAlta); foco->runAction(aniFoco); __String *txtConsegido = __String::createWithFormat("%s %s",LanguageManager::getInstance()->getString("JUEGO_TX_FINAL_EXITO_2").c_str(),sNombreProfesion->getCString()); CCLabelTTF *txConseguido = CCLabelTTF::create(txtConsegido->getCString(), "HVD_Comic_Serif_Pro.ttf",120*escala,Size((visibleSize.width),(220*escala)*2), TextHAlignment::CENTER); txConseguido->setColor(Color3B(25,78,121)); txConseguido->setVerticalAlignment(TextVAlignment::CENTER); txConseguido->setAnchorPoint(Vec2(0.5,1)); txConseguido->setPosition(lyConseguido->getContentSize().width/2,visibleSize.height+(280*escala)); lyConseguido->addChild(txConseguido); //animacion textoConsegido MoveTo *aniTxConseguido = MoveTo::create(0.3, Vec2(lyConseguido->getContentSize().width/2,(lyConseguido->getContentSize().height))); txConseguido->runAction(aniTxConseguido); Sprite *pizzarra = Sprite::create("pizzarra_final_tiempo.png"); pizzarra->setScale(escalaAlta); pizzarra->setAnchorPoint(Vec2(0.5,1)); pizzarra->setPosition(visibleSize.width,(lyConseguido->getContentSize().height)-(txConseguido->getContentSize().height)); lyConseguido->addChild(pizzarra); CCLabelTTF *nAciertosPizarra = CCLabelTTF::create(reloj->getString(), "HVD_Comic_Serif_Pro.ttf",200,pizzarra->getContentSize(), TextHAlignment::CENTER); nAciertosPizarra->setColor(Color3B(255,255,255)); nAciertosPizarra->setVerticalAlignment(TextVAlignment::CENTER); nAciertosPizarra->setAnchorPoint(Vec2(0,0)); nAciertosPizarra->setPosition(0,0); pizzarra->addChild(nAciertosPizarra); //animacion pizzara MoveTo *aniPizzarra = MoveTo::create(0.3, Vec2(lyConseguido->getContentSize().width/2,pizzarra->getPositionY())); pizzarra->runAction(aniPizzarra); CGestorRecursos *gRecursos = new CGestorRecursos(); CRecurso *recursoAleatorio = gRecursos->obtenerRecursoBloqueadoAleatorio(); if(recursoAleatorio!=NULL){ gRecursos->quitarRecursoBloqueado(recursoAleatorio); Sprite *txPremio = Sprite::create("preguntator_finjuego_texto_inferior.png"); txPremio->setScale(escalaAlta); txPremio->setAnchorPoint(Vec2(0.5,0)); txPremio->setPosition(foco->getPositionX(),foco->getPositionY()-(foco->getContentSize().height*escalaAlta)); txPremio->setOpacity(0); lyConseguido->addChild(txPremio); //animacion txPremio Sequence *aniPremio1 = Sequence::create(DelayTime::create(0.7),FadeIn::create(1),NULL); txPremio->runAction(aniPremio1); Sprite *premio = Sprite::create(recursoAleatorio->uri->getCString()); float escalaPremio = ((pizzarra->getContentSize().height*pizzarra->getScale())/2)/premio->getContentSize().height; float escalaPremioAncha = ((pizzarra->getContentSize().width*pizzarra->getScale()))/premio->getContentSize().width; if(escalaPremioAncha<escalaPremio) escalaPremio = escalaPremioAncha; premio->setScale(escalaPremio); premio->setAnchorPoint(Vec2(0.5,0)); premio->setPosition(txPremio->getPositionX(),txPremio->getPositionY()+(20*escalaPremio)+(txPremio->getContentSize().height*txPremio->getScaleY())); premio->setOpacity(0); //nuevo if(recursoAleatorio->tipoRecurso->getValue()!=Configuracion::rcsTipoOjos&&recursoAleatorio->tipoRecurso->getValue()!=Configuracion::rcsTipoAccesorio&&recursoAleatorio->tipoRecurso->getValue()!=Configuracion::rcsTipoDientes&&recursoAleatorio->tipoRecurso->getValue()!=Configuracion::rcsTipoColor) premio->runAction(TintTo::create(0,0,0,0)); lyConseguido->addChild(premio); string textoTraducido1 = LanguageManager::getInstance()->getString("kitDe"); string keyTexto2 = __String::createWithFormat("tipoRecurso%i",recursoAleatorio->tipoRecurso->getValue())->getCString(); string textoTraducido2 = LanguageManager::getInstance()->getString(keyTexto2); string textoFinal = __String::createWithFormat("%s %s",textoTraducido1.c_str(),textoTraducido2.c_str())->getCString(); CCLabelTTF *nAciertosPizarra = CCLabelTTF::create(textoFinal, "HVD_Comic_Serif_Pro.ttf",60,Size(lyConseguido->getContentSize().width,txPremio->getContentSize().height), TextHAlignment::CENTER); nAciertosPizarra->setColor(Color3B(229,57,57)); nAciertosPizarra->setVerticalAlignment(TextVAlignment::BOTTOM); nAciertosPizarra->setAnchorPoint(Vec2(0.5,0)); nAciertosPizarra->setPosition(txPremio->getContentSize().width/2,80); nAciertosPizarra->setOpacity(0); txPremio->addChild(nAciertosPizarra); Sequence *aniNAciertosPizarra = Sequence::create(DelayTime::create(0.7),FadeIn::create(1),NULL); nAciertosPizarra->runAction(aniNAciertosPizarra); //nuevo Sequence *aniPremio = Sequence::create(DelayTime::create(0.7),FadeIn::create(1),NULL); premio->runAction(aniPremio); //efecto flotando RotateTo *rotarIzq = RotateTo::create(1, 10); RotateTo *rotarDer = RotateTo::create(1, -10); Sequence *total1 = Sequence::create(rotarIzq,rotarDer, NULL); Sequence *total2 = Sequence::create(rotarDer->clone(),rotarIzq->clone(), NULL); RepeatForever *repeticion1 = RepeatForever::create(total1); RepeatForever *repeticion2 = RepeatForever::create(total2); premio->runAction(repeticion1); } }