void ChatLayer::showChatContext(float delta) { CCSize winSize = CCDirector::sharedDirector()->getWinSize(); int idx = m_index-1; string speakStr = getFileByName(m_chatContext.at(idx).name).first + ":"; string chatStr(m_chatContext.at(idx).chatStr); CCLabelTTF *nameLabel = ((CCLabelTTF*)getChildByTag(Tag_Label_Name)); CCLabelTTF * label = ((CCLabelTTF*)getChildByTag(TAG_label)); nameLabel->setString(speakStr.c_str()); label->setString(chatStr.c_str()); nameLabel->setOpacity(0); label->setOpacity(0); nameLabel->runAction(CCSequence::create( CCFadeTo::create(0.25f, 255) , NULL)); label->runAction(CCSequence::create( CCFadeTo::create(0.25f, 255) , CCCallFunc::create(this, callfunc_selector(ChatLayer::labelFadeInEnd)) , NULL)); if (m_chatContext.at(idx).deltaTime > 0.1f) { mCurMusicId = Music::sharedMusicPlayer()->playEffectSound(m_chatContext.at(idx).musicFile); scheduleOnce(schedule_selector(ChatLayer::saidChatContextEnd), m_chatContext.at(idx).deltaTime + delta_time);//有的时间太短。、、 } }
void RichText::handleTextRenderer(const char *text, const char *fontName, float fontSize, const ccColor3B &color, GLubyte opacity) { CCLabelTTF* textRenderer = CCLabelTTF::create(text, fontName, fontSize); float textRendererWidth = textRenderer->getContentSize().width; _leftSpaceWidth -= textRendererWidth; if (_leftSpaceWidth < 0.0f) { float overstepPercent = (-_leftSpaceWidth) / textRendererWidth; std::string curText = text; int stringLength = _calcCharCount(text);; int leftLength = stringLength * (1.0f - overstepPercent); std::string leftWords = curText.substr(0, leftLength); std::string cutWords = curText.substr(leftLength, curText.length()-1); if (leftLength > 0) { CCLabelTTF* leftRenderer = CCLabelTTF::create(leftWords.substr(0, leftLength).c_str(), fontName, fontSize); leftRenderer->setColor(color); leftRenderer->setOpacity(opacity); pushToContainer(leftRenderer); } addNewLine(); handleTextRenderer(cutWords.c_str(), fontName, fontSize, color, opacity); } else { textRenderer->setColor(color); textRenderer->setOpacity(opacity); pushToContainer(textRenderer); } }
void StadionLayer::markActivePlayer() { bool rightIsActive = _rightControl->getIsActive(); float rotation = rightIsActive ? 180 : 0; _attackerArrow->setRotation(rotation); CCLabelTTF* labelActive = rightIsActive ? _playerRightName : _playerLeftName; CCLabelTTF* labelInActive = !rightIsActive ? _playerRightName : _playerLeftName; labelActive->setOpacity(255); labelInActive->setOpacity(175); }
CCLabelTTF* GXLabelTTFCreator::getLabel() { if (content != NULL) { CCLabelTTF* label = NULL; if(relativeDWidthType == relativeDWidthZeroType) { label = CCLabelTTF::create(content->getCString(),"Arial",size,CCSizeMake(dimensionsWidth,dimensionsHeight),textAlignment,verticalAlignment); } else if(relativeDWidthType == relativeDWidthCenterType) { label = CCLabelTTF::create(content->getCString(),"Arial",size,CCSizeMake(winSize.width/2 + dimensionsWidth, dimensionsHeight),textAlignment,verticalAlignment); } else if(relativeDWidthType == relativeDWidthWidthType) { label = CCLabelTTF::create(content->getCString(),"Arial",size,CCSizeMake(winSize.width + dimensionsWidth, dimensionsHeight),textAlignment,verticalAlignment); } if (relativeType == relativeZeroType) { label->setPosition(ccp(x,y)); } else if(relativeType == relativeCenterType) { label->setPosition(ccp(winSize.width/2+x,y)); } else if(relativeType == relativeWidthType) { label->setPosition(ccp(winSize.width+x,y)); } label->setScaleX(scaleX); label->setScaleY(scaleY); label->setAnchorPoint(ccp(anchorX,anchorY)); label->setColor(ccc3(r,g,b)); label->setOpacity(a); label->_setZOrder(zOrder); return label; } return NULL; }
CCLabelTTF* BYGameScene::createGoalLabelForPlayer(BYGamePlayer player) { CCPoint pos; float rotation = 0; CCSize winSize = CCDirector::sharedDirector()->getWinSize(); pos.x = winSize.width / 2; if (player == BYGamePlayer_topPlayer) { pos.y = winSize.height * 3.0f / 4; rotation = 180; } else { pos.y = winSize.height / 4; } CCLabelTTF* lbl = CCLabelTTF::create("", "Marker Felt", 40); lbl->setOpacity(0); lbl->setScale(BYGoalLabelScaleBy); lbl->setTag(GUI_GoalLabel); lbl->setPosition(pos); lbl->setRotation(rotation); return lbl; }
void End::showEndingText1() { if (endingStringIndex == endingString->length()) { CCSize size = CCDirector::sharedDirector()->getWinSize(); CCLabelTTF *tobecontinued = CCLabelTTF::create("To Be Continued", "Thonburi", 36); tobecontinued->setAnchorPoint(ccp(1.0, 0.0)); tobecontinued->setPosition(ccp(size.width, 0)); tobecontinued->setOpacity(0); scriptLayer->addChild(tobecontinued,1); tobecontinued->runAction(CCFadeIn::create(0.3)); state = kEndStateEndText; setTouchEnabled(true); return; } char text[256] = {0}; unsigned char t = (endingString->getCString())[endingStringIndex]; if ((t & 0xf0) == 0xf0) endingStringIndex += 4; else if ((t & 0xe0) == 0xe0) endingStringIndex += 3; else if ((t & 0xc0) == 0xc0) endingStringIndex += 2; else endingStringIndex += 1; strncpy(text, endingString->getCString(), endingStringIndex); text[endingStringIndex] = '\0'; endingText->setString(text); endingText->setVerticalAlignment(kCCVerticalTextAlignmentTop); endingText->setHorizontalAlignment(kCCTextAlignmentLeft); runAction(CCSequence::create(CCDelayTime::create(0.25),CCCallFunc::create(this, callfunc_selector(End::showEndingText1)),NULL)); }
void SGScrollLabel::constructView() { _arrayLabel = CCArray::create(); _arrayLabel->retain(); for(int i=0;i<=_arrayString->count()/this->getFirstRowWordCount();i++) { std::string string; for(int h=i*this->getFirstRowWordCount();h<(i+1)*getFirstRowWordCount();h++) { if(h >= _arrayString->count()) { break; } CCString *str = (CCString*)_arrayString->objectAtIndex(h); string.append(str->getCString()); } CCLabelTTF *label = CCLabelTTF::create(string.c_str(), FONT_BOXINFO, 24); _arrayLabel->addObject(label); } CCPoint bottomCenter = ccp(_viewSize.width/2,0); for(int i=0;i<_arrayLabel->count();i++) { CCLabelTTF *label = (CCLabelTTF*)_arrayLabel->objectAtIndex(i); label->setPosition(ccpAdd(bottomCenter, ccp(0, - label->getContentSize().height))); label->setOpacity(0.0f); label->setHorizontalAlignment(kCCTextAlignmentLeft); this->addChild(label); //动画 CCDelayTime *delayTime = CCDelayTime::create(i*2.0f); CCMoveTo *move2 = CCMoveTo::create(0.5f,ccpAdd(label->getPosition(), ccp(0, _viewSize.height/10))); CCFadeIn *fadeIn = CCFadeIn::create(0.5f); CCFiniteTimeAction *spawn1 = CCSpawn::create(move2,fadeIn,NULL); CCMoveTo *move = CCMoveTo::create(5.0f, ccpAdd(label->getPosition(), ccp(0, _viewSize.height))); CCMoveTo *move3 = CCMoveTo::create(0.5f, ccpAdd(label->getPosition(),ccp(0, _viewSize.height*11/10))); CCFadeOut *fadeOut = CCFadeOut::create(0.5f); CCFiniteTimeAction *spawn2 = CCSpawn::create(move3,fadeOut,NULL); CCFiniteTimeAction *sequence = CCSequence::create(delayTime,spawn1,move,spawn2,NULL); label->runAction(sequence); } CCDelayTime *delay = CCDelayTime::create(_arrayLabel->count()*2+5); CCCallFunc *call = CCCallFunc::create(this, callfunc_selector(SGScrollLabel::callFunction)); CCFiniteTimeAction *sequence2 = CCSequence::create(delay,call,NULL); this->runAction(sequence2); }
void ZhuShouChatLayer::showChatContext(float delta) { CCSize winSize = CCDirector::sharedDirector()->getWinSize(); int idx = m_index-1; string speakStr = ""; NetTextListShowUI* pText = NetTextListShowUI::create(); std::string fullStr = ""; for (vector<ShowMsg>::iterator iter = m_sChatMsg.begin(); iter != m_sChatMsg.end() ; iter++) { fullStr += pText->getConversionMsgStr(iter->msg, iter->color); } NetLabelTTF * label = ((NetLabelTTF*)getChildByTag(TAG_label)); pText->setTextSize(label->getFontSize()); pText->setTextWidth(m_nTextWidth); pText->addMessage(fullStr); label->setString(pText->getMsgString().c_str()); label->setMsgColorTexCoords(pText->getMsgColorTexCoordsList()); label->setHeight(pText->getHeight()); //string chatStr(m_sChatMsg); CCLabelTTF *nameLabel = ((CCLabelTTF*)getChildByTag(Tag_Label_Name)); nameLabel->setString(speakStr.c_str()); //label->setString(chatStr.c_str()); nameLabel->setOpacity(0); label->setOpacity(0); nameLabel->runAction(CCSequence::create( CCFadeTo::create(0.0f, 255) , NULL)); label->runAction(CCSequence::create( CCFadeTo::create(0.0f, 255) , CCCallFunc::create(this, callfunc_selector(ZhuShouChatLayer::labelFadeInEnd)) , NULL)); }
bool GameButton::initWithText(const char * text, bool isBig) { if (!CCSprite::init()) { return false; } CCString* btnFrame = (isBig) ? CCString::create("button_big.png") : CCString::create("button_small.png"); int fSize = 18 * Utils::getArtScaleFactor(); this->setDisplayFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(btnFrame->getCString())); CCLabelTTF *label = CCLabelTTF::create(text, CCString::createWithFormat("%s.ttf",FONT_MAIN)->getCString(), fSize + isBig * fSize); label->setPosition(ccp(this->getContentSize().width/2,this->getContentSize().height/2)); this->addChild(label,1); CCLabelTTF *labelShadow = CCLabelTTF::create(text, CCString::createWithFormat("%s.ttf",FONT_MAIN)->getCString(), fSize + isBig * fSize); labelShadow->setPosition(ccp(this->getContentSize().width/2 - (2 + isBig * 2),this->getContentSize().height/2)); labelShadow->setColor(ccBLACK); labelShadow->setOpacity(150); this->addChild(labelShadow,0); this->setScale(Utils::getScale()); return true; }
TutorialLoading(int number) { float scale = ScreenHelper::getTextureScale(); float scaleX = ScreenHelper::getTextureScaleX(); float scaleY = ScreenHelper::getTextureScaleY(); m_TimeOut = 2.99f; scheduleUpdate(); CCTextureCache::sharedTextureCache()->addPVRImage("LoadingScreen.pvr.ccz"); CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("LoadingScreen.plist"); CCNode *grid = CCNode::create(); CCSprite *gridSprite = CCSprite::createWithSpriteFrameName("LoadTutGridBG.png"); gridSprite->setPosition(ScreenHelper::getAnchorPoint(ScreenHelper::ANCHOR_CENTER)); gridSprite->setScaleX(scaleX); gridSprite->setScaleY(scaleY); grid->addChild(gridSprite); addChild(grid,1); switch(number) { case 1: { CCSize dim; dim.width = 400.0f; dim.height = 150.0f; CCLabelTTF *label = CCLabelTTF::create("Moving Forward","impact.ttf",50*scale); label->setColor(ccc3(255,255,255)); label->setOpacity(160); label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, -35.0f, 40.0f)); grid->addChild(label); label = CCLabelTTF::create("and Backward","impact.ttf",50*scale); label->setColor(ccc3(255,255,255)); label->setOpacity(160); label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, -35.0f, -30.0f)); grid->addChild(label); CCSprite *forwardSprite = CCSprite::create("ctm_UI_Forward_Btn_ver1.png"); forwardSprite->setOpacity(200); forwardSprite->setScale(scale); forwardSprite->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 175.0f, 35.0f)); grid->addChild(forwardSprite); CCSprite *backwardSprite = CCSprite::create("ctm_UI_Backward_Btn_ver1.png"); backwardSprite->setOpacity(200); backwardSprite->setScale(scale); backwardSprite->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 165.0f, -35.0f)); grid->addChild(backwardSprite); } break; case 2: { CCSize dim; dim.width = 400.0f; dim.height = 150.0f; CCLabelTTF *label = CCLabelTTF::create("Jumping","impact.ttf",50*scale); label->setColor(ccc3(255,255,255)); label->setOpacity(160); //CCLabelTTF *label = CCLabelTTF::create("Jumping" fontName:@"impact.ttf" fontSize: 60]; label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, 15.0f)); //label->setOpacity(200; grid->addChild(label); CCSprite *jumpSprite = CCSprite::create("ctm_UI_Jump_Btn_ver1.png"); jumpSprite->setOpacity(200); jumpSprite->setScale(scale); jumpSprite->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 130.0f, 10.0f)); grid->addChild(jumpSprite); } break; case 3: { CCSize dim; dim.width = 400.0f; dim.height = 150.0f; CCLabelTTF *label = CCLabelTTF::create("Working for\nPeanuts","impact.ttf",50*scale); label->setColor(ccc3(255,255,255)); label->setOpacity(160); label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, 40.0f)); grid->addChild(label); CCSprite *peanutSprite = CCSprite::createWithSpriteFrameName("TutPeanuts.png"); peanutSprite->setOpacity(200); peanutSprite->setScale(scale); peanutSprite->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, -50.0f)); grid->addChild(peanutSprite); //label = CCLabelTTF::create("Thrilling Conclusion" fontName:@"impact.ttf" fontSize: 32]; //label->setPosition(ccp(480.0f/2.0f,320.0f/2.0f-20.0f); //[self addChild:label]; } break; case 4: { CCSize dim; dim.width = 400.0f; dim.height = 150.0f; CCLabelTTF *label = CCLabelTTF::create("Trampolines","impact.ttf",50*scale); label->setColor(ccc3(255,255,255)); label->setOpacity(160); label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, 40.0f)); grid->addChild(label); label = CCLabelTTF::create("and Tricks","impact.ttf",50*scale); label->setColor(ccc3(255,255,255)); label->setOpacity(160); label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, -10.0f)); grid->addChild(label); CCSprite *jumpSprite = CCSprite::create("ctm_UI_Jump_Btn_ver1.png"); jumpSprite->setOpacity(200); jumpSprite->setScale(scale); jumpSprite->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 140.0f, -15.0f)); grid->addChild(jumpSprite); //label = CCLabelTTF::create("Thrilling Conclusion" fontName:@"impact.ttf" fontSize: 32]; //label->setPosition(ccp(480.0f/2.0f,320.0f/2.0f-20.0f); //[self addChild:label]; } break; case 5: { CCSize dim; dim.width = 400.0f; dim.height = 150.0f; CCLabelTTF *label = CCLabelTTF::create("Time","impact.ttf",50*scale); label->setColor(ccc3(255,255,255)); label->setOpacity(160); label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, 15.0f)); grid->addChild(label); //label = CCLabelTTF::create("Thrilling Conclusion" fontName:@"impact.ttf" fontSize: 32]; //label->setPosition(ccp(480.0f/2.0f,320.0f/2.0f-20.0f); //[self addChild:label]; } break; case 6: { CCSize dim; dim.width = 400.0f; dim.height = 150.0f; CCLabelTTF *label = CCLabelTTF::create("Earning Medals","impact.ttf",50*scale); label->setColor(ccc3(255,255,255)); label->setOpacity(160); label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, 40.0f)); grid->addChild(label); CCTextureCache::sharedTextureCache()->addPVRImage("LoadingScreen2.pvr.ccz"); CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("LoadingScreen2.plist"); CCSprite *bronze = CCSprite::createWithSpriteFrameName("ctm_BronzeMedalBig.png"); bronze->setOpacity(200); bronze->setScale(scale); bronze->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 120.0f, -25.0f)); grid->addChild(bronze); CCSprite *silver = CCSprite::createWithSpriteFrameName("ctm_SilverMedalBig.png"); silver->setOpacity(200); silver->setScale(scale); silver->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, -25.0f)); grid->addChild(silver); CCSprite *gold = CCSprite::createWithSpriteFrameName("ctm_Loading_LargeGold.png"); gold->setOpacity(200); gold->setScale(scale); gold->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, -120.0f, -25.0f)); grid->addChild(gold); } break; } g_TutorialState = number; }
bool LogoLayer::init() { if ( !CCLayer::init() ) { return false; } // ask director the window size CCSize size = CCDirector::sharedDirector()->getWinSize(); CCLabelTTF* beginLable = CCLabelTTF::create("Touch to begin", "Arial", 32); beginLable->setOpacity((GLubyte)(120)); // CCRGBAProtocol *pRGBAProtocol = dynamic_cast<CCRGBAProtocol*>(beginLable); // if (pRGBAProtocol) // { // pRGBAProtocol->setOpacity((GLubyte)(120)); // } CCMenuItemLabel* pPlayItem = CCMenuItemLabel::create(beginLable, this, menu_selector(LogoLayer::menuCallback)); pPlayItem->setTag(1); pPlayItem->setPosition(ccp( VisibleRect::center().x , VisibleRect::bottom().y+50 )); beginLable->runAction(CCRepeatForever::create((CCActionInterval*)CCBlink::create(2, 2))); CCLabelTTF* label = CCLabelTTF::create("COCOSBOX2D DEMO", "Arial", 64); label->setAnchorPoint(ccp(1.0, 0.5)); addChild(label, 100, 1000); label->setPosition( ccp(0, size.height-350) ); CCLabelTTF *sub = CCLabelTTF::create("cske", "Arial", 46); sub->setAnchorPoint(ccp(1.0, 0.5)); addChild(sub, 100); sub->setPosition(ccp(0, size.height-500)); CCActionInterval * move = CCSequence::create(CCDelayTime::create(1), CCMoveBy::create(4, ccp(650,0)), NULL); label->runAction(move); CCActionInterval * submove = CCSequence::create(CCDelayTime::create(5), CCMoveBy::create(4, ccp(400,0)), NULL); sub->runAction(submove); CCMenu* pMenu = CCMenu::create(pPlayItem, NULL); pMenu->setPosition( CCPointZero ); addChild(pMenu, 1); // CCSprite* pSprite = CCSprite::create("Default.png"); // pSprite->setPosition( ccp(size.width/2, size.height/2) ); // addChild(pSprite, 0); b2Vec2 gravity; gravity.Set(0.0f, 0.0f); m_pWorld = new b2World(gravity); m_pWorld->SetAllowSleeping(false); m_pWorld->SetContinuousPhysics(true); b2BodyDef groundBodyDef; groundBodyDef.position.Set(0,0); m_pGroundBody = m_pWorld->CreateBody(&groundBodyDef); b2EdgeShape groundBox; b2FixtureDef groundBoxDef; groundBoxDef.shape =&groundBox; groundBoxDef.friction = 0.0f; groundBoxDef.restitution = 1.0; groundBox.Set(b2Vec2(VisibleRect::leftBottom().x/PTM_RATIO,VisibleRect::leftBottom().y/PTM_RATIO), b2Vec2(VisibleRect::rightBottom().x/PTM_RATIO,VisibleRect::rightBottom().y/PTM_RATIO)); m_pGroundBody->CreateFixture(&groundBoxDef); groundBox.Set(b2Vec2(VisibleRect::leftTop().x/PTM_RATIO,VisibleRect::leftTop().y/PTM_RATIO), b2Vec2(VisibleRect::leftBottom().x/PTM_RATIO,VisibleRect::leftBottom().y/PTM_RATIO)); m_pGroundBody->CreateFixture(&groundBoxDef); groundBox.Set(b2Vec2(VisibleRect::leftTop().x/PTM_RATIO,VisibleRect::leftTop().y/PTM_RATIO), b2Vec2(VisibleRect::rightTop().x/PTM_RATIO,VisibleRect::rightTop().y/PTM_RATIO)); m_pGroundBody->CreateFixture(&groundBoxDef); groundBox.Set(b2Vec2(VisibleRect::rightBottom().x/PTM_RATIO,VisibleRect::rightBottom().y/PTM_RATIO), b2Vec2(VisibleRect::rightTop().x/PTM_RATIO,VisibleRect::rightTop().y/PTM_RATIO)); m_pGroundBody->CreateFixture(&groundBoxDef); CCPoint firePosition(100, 200); b2BodyDef fireBodyDef; fireBodyDef.position.Set(firePosition.x / PTM_RATIO, firePosition.y / PTM_RATIO); fireBodyDef.type = b2_dynamicBody; m_pFireBody = m_pWorld->CreateBody(&fireBodyDef); b2CircleShape fireShape; fireShape.m_radius = 10 / PTM_RATIO / 2; b2FixtureDef fireShapeDef; fireShapeDef.shape = &fireShape; fireShapeDef.density = 1.0f; fireShapeDef.friction = 0.1f; fireShapeDef.restitution = 1.0f; m_pFireBody->CreateFixture(&fireShapeDef); b2Vec2 force = b2Vec2(50, -50); m_pFireBody->ApplyLinearImpulse(force, m_pFireBody->GetWorldCenter()); m_pFireEmitter = CCParticleSun::createWithTotalParticles(500); m_pFireEmitter->setPosition(firePosition); m_pFireEmitter->setTexture( CCTextureCache::sharedTextureCache()->addImage("fire.png")); addChild(m_pFireEmitter, 5); CCPoint icePosition(200, 600); fireBodyDef.position.Set(icePosition.x / PTM_RATIO, icePosition.y / PTM_RATIO); m_pIceBody = m_pWorld->CreateBody(&fireBodyDef); m_pIceBody->CreateFixture(&fireShapeDef); m_pIceBody->ApplyLinearImpulse(force, m_pFireBody->GetWorldCenter()); m_pIceEmitter = CCParticleMeteor::createWithTotalParticles(500); m_pIceEmitter->setPosition(icePosition); m_pIceEmitter->setTexture( CCTextureCache::sharedTextureCache()->addImage("fire.png")); addChild(m_pIceEmitter, 5); //加点雪 m_pSnowEmitter = CCParticleSnow::create(); addChild(m_pSnowEmitter, 5); // gravity m_pSnowEmitter->setGravity(ccp(0,-10)); // speed of particles m_pSnowEmitter->setSpeed(150); m_pSnowEmitter->setSpeedVar(10); ccColor4F startColor = m_pSnowEmitter->getStartColor(); startColor.r = 0.9f; startColor.g = 0.9f; startColor.b = 0.9f; m_pSnowEmitter->setStartColor(startColor); ccColor4F startColorVar = m_pSnowEmitter->getStartColorVar(); startColorVar.b = 0.1f; m_pSnowEmitter->setStartColorVar(startColorVar); m_pSnowEmitter->setEmissionRate(m_pSnowEmitter->getTotalParticles()/m_pSnowEmitter->getLife()); m_pSnowEmitter->setTexture( CCTextureCache::sharedTextureCache()->addImage("snow.png") ); m_pSnowEmitter->setPosition( ccp(size.width / 2, size.height) ); SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( MUSIC_FILE ); // set default volume SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.3); scheduleUpdate(); return true; }
bool HeadUpDisplay::init(){ if(!CCMenu::init()) return false; /* Adding a "close" button to exit. */ CCMenuItemImage *pCloseItem = CCMenuItemImage::create("CloseNormal.png", "CloseSelected.png", this, menu_selector(HeadUpDisplay::menuCloseCallback)); CCSize scrSize = CCDirector::sharedDirector()->getWinSize(); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); pCloseItem->setPosition( ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 , origin.y + pCloseItem->getContentSize().height/2)); this->addChild(pCloseItem,1); /* Mesh */ CCSprite* mesh = CCSprite::create(); mesh->setTextureRect(CCRect(0,0,scrSize.width,scrSize.height)); mesh->setColor(ccc3(0,0,0)); mesh->setOpacity(0); mesh->setAnchorPoint(ccp(0,0)); mesh->setPosition(CCPointZero); mesh->setTag(_meshTag); this->addChild(mesh,0); /* Bubble Talk */ CCSprite* bubble = CCSprite::create("bubbleTalk.png"); CCPoint bblePos = scrSize/2; bubble->setPosition(bblePos); bubble->setScale(0); bubble->setTag(_bubbleTalkTag); this->addChild(bubble,0); /* Message */ CCLabelTTF* labelMsg = CCLabelTTF::create("Bonjour!\n :)","Artial", 32); CCSize bubbleSize = bubble->getContentSize(); labelMsg->setPosition(bubbleSize/2); labelMsg->setOpacity(0); labelMsg->setTag(_messageTag); bubble->addChild(labelMsg,0); /* Accept Button */ CCMenuItemImage* acceptButton = CCMenuItemImage::create( "acceptButton.png","acceptButtonPressed.png", this, menu_selector(HeadUpDisplay::hideMessage)); acceptButton->retain(); CCSize aBtnSize = acceptButton->getContentSize(); acceptButton->setPosition(ccp( bblePos.x + bubbleSize.width/2 - aBtnSize.width * .25f, bblePos.y - bubbleSize.height/2 + aBtnSize.height * .25f)); acceptButton->setVisible(false); this->addChild(acceptButton,0,_acceptButtonTag); this->setPosition(CCPointZero); return true; }
bool ChatLayer::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayerColor::initWithColor(ccc4(0,0,0,160)) ); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //board CCSprite* board = CCSprite::create("juqing_duihuakuang.png"); addChild(board, 2, TAG_Board); board->setAnchorPoint(ccp(0.5, 0)); board->setPosition(ccp(winSize.width/2, 0)); board->setOpacity(0); //next img BaseSprite *nextImg = BaseSprite::create("sphc_anniu_fanye.png"); board->addChild(nextImg, 0, Tag_ImgNext); nextImg->setPosition(ccp(597,37)); nextImg->setOpacity(0); nextImg->runAction(CCSequence::create( CCFadeIn::create(0.15f), CCRepeat::create(CCSequence::create(CCFadeOut::create(0.75f), CCFadeIn::create(0.75f), NULL), -1), NULL)); //npc string npcFileName = getFileByName(m_chatContext.at(0).name).second; //////////////////////////////////////////// if(npcFileName.empty()) { CCLog("Error: %s [can't found npc imgine]", __FUNCTION__); npcFileName = "juqing_duihua_NPC_shenmiren.png"; } //////////////////////////////////////////// CCSprite* actorA = CCSprite::create(npcFileName.c_str()); addChild(actorA, 1, TAG_ActorA); actorA->setAnchorPoint(ccp(0,0)); actorA->setPosition(ccp(0, board->getContentSize().height-14)); actorA->setOpacity(0); //actor //yemanren cike fashi string actorFileName = getFileByName("zhujue").second; CCSprite* actorB = CCSprite::create(actorFileName.c_str()); addChild(actorB, 1, TAG_ActorB); actorB->setAnchorPoint(ccp(1,0)); actorB->setPosition(ccp(winSize.width, board->getContentSize().height-14)); // actorB->setScale(0.9); actorB->setOpacity(0); //label name CCLabelTTF *namelabel = CCLabelTTF::create("", fontStr_kaiti, 24); addChild(namelabel, 5, Tag_Label_Name); namelabel->setAnchorPoint(ccp(0, 0.5)); namelabel->setPosition(ccp(20, board->getContentSize().height-42)); namelabel->setColor(fonColor_PuTong); namelabel->setOpacity(0); //label content CCLabelTTF* label = CCLabelTTF::create("", fontStr_kaiti, 24, CCSize(610, 0), kCCTextAlignmentLeft); addChild(label, 5, TAG_label); label->setAnchorPoint(ccp(0,1)); label->setColor(fonColor_FaGuang); label->setPosition(ccp(20, board->getContentSize().height-76)); label->setOpacity(0); ////////////start chat if(m_chatContext.at(0).name == "zhujue") actorB->runAction(CCFadeIn::create(0.1f)); else actorA->runAction(CCFadeIn::create(0.1f)); board->runAction(CCFadeIn::create(0.1f)); label->runAction(CCFadeIn::create(0.1f)); namelabel->runAction(CCFadeIn::create(0.1f)); nextImg->runAction(CCFadeIn::create(0.15f)); scheduleOnce(schedule_selector(ChatLayer::showChatContext), 0.05f); { mTimeEnd = false; mLabelFadeInEnd = false; ++m_index; } bRet = true; }while(0); return bRet; }
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); } }
bool ZhuShouChatLayer::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayerColor::initWithColor(ccc4(0,0,0,160)) ); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //board CCSprite* board = CCSprite::create("juqing_duihuakuang.png"); addChild(board, 2, TAG_Board); board->setAnchorPoint(ccp(0.5, 0)); board->setPosition(ccp(winSize.width/2, 0)); board->setOpacity(0); board->setScaleY(0.7f); //next img BaseSprite *nextImg = BaseSprite::create("sphc_anniu_fanye.png"); board->addChild(nextImg, 0, Tag_ImgNext); nextImg->setPosition(ccp(597,37)); nextImg->setOpacity(0); nextImg->runAction(CCSequence::create( CCFadeIn::create(0.15f), CCRepeat::create(CCSequence::create(CCFadeOut::create(0.75f), CCFadeIn::create(0.75f), NULL), -1), NULL)); //npc string npcFileName = getFileByName(getPinyinName(m_nZhuaShouId)).second; //////////////////////////////////////////// if(npcFileName.empty()) { CCLog("Error: %s [can't found npc imgine]", __FUNCTION__); npcFileName = "juqing_duihua_NPC_shenmiren.png"; } //////////////////////////////////////////// int x_side = 20; CCSprite* actorA = CCSprite::create(npcFileName.c_str()); addChild(actorA, 3, TAG_ActorA); actorA->setAnchorPoint(ccp(0,0)); actorA->setPosition(ccp(x_side,x_side)); actorA->setOpacity(0); int side = 10; //label name CCLabelTTF *namelabel = CCLabelTTF::create("", fontStr_kaiti, 24); addChild(namelabel, 5, Tag_Label_Name); namelabel->setAnchorPoint(ccp(0, 0.5)); namelabel->setPosition(ccp(20, board->getContentSize().height-42)); namelabel->setColor(fonColor_PuTong); namelabel->setOpacity(0); //label content //CCLabelTTF* label = CCLabelTTF::create("", fontStr_kaiti, 24, CCSize(board->getContentSize().width - actorA->getContentSize().width - side, 0), kCCTextAlignmentLeft); m_nTextWidth = board->getContentSize().width - actorA->getContentSize().width - side; NetLabelTTF* label = NetLabelTTF::create("", fontStr_kaiti, 24); addChild(label, 5, TAG_label); label->setHorizontalAlignment(kCCTextAlignmentLeft); label->setAnchorPoint(ccp(0,1)); label->setColor(fonColor_FaGuang); label->setPosition(ccp(actorA->getContentSize().width + side, board->getContentSize().height-145)); label->setOpacity(0); actorA->runAction(CCFadeIn::create(0.0f)); board->runAction(CCFadeIn::create(0.0f)); label->runAction(CCFadeIn::create(0.0f)); namelabel->runAction(CCFadeIn::create(0.0f)); nextImg->runAction(CCFadeIn::create(0.0f)); scheduleOnce(schedule_selector(ZhuShouChatLayer::showChatContext), 0.05f); { mTimeEnd = false; mLabelFadeInEnd = false; ++m_index; } bRet = true; } while(0); return bRet; }
bool Newbie1Trigger::onRegist() { // CCLayer* newbieLayer = CCLayer::create(); // // CCSprite* gray = CCSprite::create("whiteImage.jpg"); // gray->setPosition(ccp(winSize.width/2,winSize.height/2)); // gray->setScaleX(winSize.width/gray->getContentSize().width); // gray->setScaleY(winSize.height/gray->getContentSize().height); // gray->setColor(ccc3(0,0,0)); // gray->setOpacity(150); // // newbieLayer->addChild(gray); // // CCString* str = GXUtil::readFile("NewbieDialog1.j"); // node->addChild(DiaLayer::create(GXJsonUtil::parseDiaLayerInfoBean(str->getCString())),11); // newbieLayer->setTag(newbieFlowLayerTag); // node->addChild(newbieLayer); CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("sfx_uicrash.mp3"); CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("sfx_uicrash1.mp3"); CCLayer* newbieLayer = CCLayer::create(); newbieLayer->setTag(newbieFlowLayerTag); CCSprite* black = CCSprite::create("whiteImage.jpg"); black->setColor(ccc3(0,0,0)); black->setScaleX(winSize.width/black->getContentSize().width); black->setScaleY(winSize.height/black->getContentSize().height); newbieLayer->addChild(black); // black->setTag(newbieBlackTag); black->setPosition(ccp(winSize.width/2,winSize.height/2)); CCLabelTTF* label = CCLabelTTF::create("1939.10.30\n天气 晴\n欧洲战场前线基地", "Arial", 36,CCSizeZero, kCCTextAlignmentLeft, kCCVerticalTextAlignmentTop); label->setPosition(ccp(200,150)); label->setOpacity(0); label->runAction(CCSequence::create(CCFadeIn::create(0.5),CCDelayTime::create(1.5),CCFadeOut::create(3),GXRemoveFromParentsAction::create(),NULL)); black->runAction(CCSequence::create(CCDelayTime::create(2),CCFadeOut::create(3),NULL)); newbieLayer->addChild(label); GXShieldTouchMenuItem* nextButton = GXShieldTouchMenuItem::create(); nextButton->setContentSize(winSize); nextButton->setPosition(ccp(winSize.width/2,winSize.height/2)); MyPriorityMenu* menu = MyPriorityMenu::create(-499, nextButton,NULL); menu->setPosition(ccp(0,0)); // menu->setTag(newbieMenuTag); newbieLayer->addChild(menu); node->addChild(newbieLayer); // node->runAction(CCRepeat::create(static_cast<CCSequence*>(CCSequence::create(CCCallFunc::create(this,callfunc_selector(Newbie1Trigger::deployUnit)),CCDelayTime::create(1),NULL)),20)); MyBattleMap* battleMap = (MyBattleMap*)node->getChildByTag(MainMapTag); battleMap->runAction(CCSequence::create(CCDelayTime::create(3),CCEaseIn::create(CCMoveBy::create(9,ccp(-500,-500)),2),CCCallFunc::create(this,callfunc_selector(Newbie1Trigger::toNextCallBack)),NULL)); CCArray* unitArray = CCArray::create(); CreatorInfoBean* PanzerIVBean = CreatorInfoBean::create(PanzerIVCardId); CreatorInfoBean* VolksgrenadierBean = CreatorInfoBean::create(volksgrenaierCardId); // CreatorInfoBean* InfanterieBean = CreatorInfoBean::create(InfanterieCardId); CreatorInfoBean* PanzergrenadierBean = CreatorInfoBean::create(panzergrenadierCardId); // CreatorInfoBean* HummingBirdBean = CreatorInfoBean::create(HummingBirdCardId); // CreatorInfoBean* tigerBean = CreatorInfoBean::create(TigerCardId); MyUnit* unit1 = PanzerIVBean->creator->createObj(PanzerIVBean->getLevel()); unit1->setTag(PanzerIVBean->creator->cardId); unit1->setPosition(battleMap->transTiledToMap(ccp(25,50))); unit1->deployPosi = ccp(25,50); unitArray->addObject(unit1); MyUnit* unit2 = PanzerIVBean->creator->createObj(PanzerIVBean->getLevel()); unit2->setTag(PanzerIVBean->creator->cardId); unit2->setPosition(battleMap->transTiledToMap(ccp(30,55))); unit2->deployPosi = ccp(30,55); unitArray->addObject(unit2); MyUnit* unit3 = VolksgrenadierBean->creator->createObj(1); unit3->setTag(VolksgrenadierBean->creator->cardId); unit3->setPosition(battleMap->transTiledToMap(ccp(24,54))); unit3->deployPosi = ccp(24,54); unitArray->addObject(unit3); MyUnit* unit4 = VolksgrenadierBean->creator->createObj(1); unit4->setTag(VolksgrenadierBean->creator->cardId); unit4->setPosition(battleMap->transTiledToMap(ccp(35,50))); unit4->deployPosi = ccp(35,50); unitArray->addObject(unit4); MyUnit* unit5 = VolksgrenadierBean->creator->createObj(1); unit5->setTag(VolksgrenadierBean->creator->cardId); unit5->setPosition(battleMap->transTiledToMap(ccp(33,59))); unit5->deployPosi = ccp(33,59); unitArray->addObject(unit5); MyUnit* unit6 = PanzergrenadierBean->creator->createObj(1); unit6->setTag(PanzergrenadierBean->creator->cardId); unit6->setPosition(battleMap->transTiledToMap(ccp(23,52))); unit6->deployPosi = ccp(23,52); unitArray->addObject(unit6); MyUnit* unit7 = PanzergrenadierBean->creator->createObj(1); unit7->setTag(PanzergrenadierBean->creator->cardId); unit7->setPosition(battleMap->transTiledToMap(ccp(25,59))); unit7->deployPosi = ccp(25,59); unitArray->addObject(unit7); MyUnit* unit8 = PanzergrenadierBean->creator->createObj(1); unit8->setTag(PanzergrenadierBean->creator->cardId); unit8->setPosition(battleMap->transTiledToMap(ccp(33,65))); unit8->deployPosi = ccp(33,65); unitArray->addObject(unit8); MyUnit* unit9 = PanzerIVBean->creator->createObj(1); unit9->setTag(PanzerIVBean->creator->cardId); unit9->setPosition(battleMap->transTiledToMap(ccp(40,63))); unit9->deployPosi = ccp(33,65); unitArray->addObject(unit9); CCObject* obj; CCARRAY_FOREACH(unitArray,obj) { MyUnit* testUnit = (MyUnit*)(obj); battleMap->CCNode::addChild(testUnit,999999); battleMap->getUnits()->addObject(testUnit); testUnit->doAI(); }