void AchievementNotification::showImmediately(Achievement a) { mShowing = true; CCTexture2D* tex = CCTextureCache::sharedTextureCache()->textureForKey(fileName.c_str()); if (tex == NULL) { tex = CCTextureCache::sharedTextureCache()->addImage(fileName.c_str()); } CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCScale9Sprite* pBoard = CCScale9Sprite::create(CCRectMake(tex->getContentSize().width/2, 0, 2, tex->getContentSize().height), fileName.c_str()); addChild(pBoard,0,Tag_Board); pBoard->setPosition(ccp(winSize.width/2,winSize.height + pBoard->getContentSize().height) ); CCSprite* pJinBei = CCSprite::create(ResManager::getManager()->getFilePath(g_public+"CJ_icon_jiangbei.png").c_str()); pBoard->addChild(pJinBei, 1); pJinBei->setPosition(ccp(pJinBei->getContentSize().width, pBoard->getContentSize().height/2)); CCLabelTTF* pName = CCLabelTTF::create(a.name.c_str(), fontStr_KlavikaBold, 40); pName->setColor(fontColor_Acheivement_TTF); CCSprite* pIcon = CCSprite::create(ResManager::getManager()->getFilePath(g_public+"CJ_icon_wancheng.png").c_str()); int x = pName->getContentSize().width + pIcon->getContentSize().width - 420; if (x > 0) { pBoard->setContentSize(ccp(pBoard->getContentSize().width+x, pBoard->getContentSize().height)); } pBoard->addChild(pName); int xoffset = 10; pName->setPosition(ccp(pBoard->getContentSize().width/2 + pIcon->getContentSize().width/2 + xoffset, pBoard->getContentSize().height/2)); pBoard->addChild(pIcon); pIcon->setPosition(ccp(pName->getPositionX() - pName->getContentSize().width/2 - pIcon->getContentSize().width/2 - xoffset, pName->getPositionY())); Achievement* achievementCopy = new Achievement(a); // *achievementCopy = a; temp_Must_Delete.insert(temp_Must_Delete.end(),achievementCopy); pBoard->runAction(CCSequence::create( CCMoveTo::create(0.5f,ccp(pBoard->getPositionX(),winSize.height-pBoard->getContentSize().height/2)), CCDelayTime::create(0.1f), CCCallFuncND::create(this,SEL_CallFuncND(&AchievementNotification::boardShowing),achievementCopy), CCDelayTime::create(1.3f), CCMoveTo::create(0.2f,ccp(pBoard->getPositionX(),winSize.height+pBoard->getContentSize().height)), CCFadeTo::create(0.1f,0), CCCallFuncN::create(this,SEL_CallFuncN(&AchievementNotification::boardShowEnd)),NULL)); createPar(ccp(winSize.width/2,winSize.height),parFileName.c_str(),pBoard->getContentSize().width * 1.2f,pBoard->getContentSize().height); Music::sharedMusicPlayer()->playEffectSound("achievement.wav"); CCLog("AchievementNotification::showImmediately name = %s" ,a.name.c_str()); }
bool HelpLayer::init(){ ////////////////////////////// // 1. super init first if (!CCLayer::init()){ return false; } CCScale9Sprite *pBackground = CCScale9Sprite::create("Dialog_bg.png"); pBackground->setAnchorPoint(ccp(0.5f,0.5f)); CCSize frameSize = CCEGLView::sharedOpenGLView()->getFrameSize(); float scale = frameSize.width / DESIGN_WIDTH; float newScaleY = 1.0f; if (scale > 0){ float scaleY = frameSize.height / DESIGN_HEIGHT; if (scaleY > scale){ newScaleY = scaleY / scale; } } pBackground->setPreferredSize(CCSizeMake(DESIGN_WIDTH - 20,(DESIGN_HEIGHT - 130) * newScaleY)); CCSize size = pBackground->getContentSize(); pBackground->setPosition(VisibleRect::center()); addChild(pBackground); CCSprite *pTitleBgSp = CCSprite::create("Dialog_Title.png"); pTitleBgSp->setPosition(ccp(pBackground->getPositionX(),pBackground->getPositionY() + pBackground->getContentSize().height / 2)); addChild(pTitleBgSp); CCSprite *pTitleSp = CCSprite::create("Title_Help.png"); pTitleSp->setPosition(ccp(pTitleBgSp->getPositionX(),pTitleBgSp->getPositionY() + pTitleSp->getContentSize().height / 2 + 5)); addChild(pTitleSp); CCSprite *pItemNormal = CCSprite::create("cancel_s.png"); CCSprite *pItemSelected = CCSprite::create("cancel_s.png"); CCMenuItem *pClose = CCMenuItemSprite::create(pItemNormal, pItemSelected, this, menu_selector(HelpLayer::close)); pClose->setPosition(ccp(pTitleSp->getPositionX() + pTitleSp->getContentSize().width * 3 / 2, pTitleSp->getPositionY())); pItemSelected->setScale(1.1f); pItemSelected->setAnchorPoint(ccp(0.05f, 0.05f)); CCMenu *pMenu = CCMenu::create(pClose, NULL); pMenu->setPosition(CCPointZero); addChild(pMenu, 1); CCDictionary *text = CCDictionary::createWithContentsOfFile(XML_DATA); CCString *msg = (CCString*)text->objectForKey("rule"); CCLabelTTF *msgLabel = CCLabelTTF::create(msg->getCString(), "Arial", 21,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); msgLabel->setColor(ccc3(0,0,0)); msgLabel->setPosition(ccp(pTitleBgSp->getPositionX(),pTitleBgSp->getPositionY() - pTitleBgSp->getContentSize().height / 2 - msgLabel->getContentSize().height / 2 - 5)); addChild(msgLabel); CCSprite *phSp = CCSprite::create("Help_1.png"); phSp->setPosition(ccp(msgLabel->getPositionX(),msgLabel->getPositionY() - msgLabel->getContentSize().height / 2 - phSp->getContentSize().height / 2 - 3)); addChild(phSp); msg = (CCString*)text->objectForKey("scoreTips"); msgLabel = CCLabelTTF::create(msg->getCString(), "Arial", 21,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentCenter); msgLabel->setColor(ccc3(0,0,0)); msgLabel->setPosition(ccp(phSp->getPositionX(),phSp->getPositionY() - phSp->getContentSize().height / 2 - msgLabel->getContentSize().height / 2 - 10)); addChild(msgLabel); phSp = CCSprite::create("Help_2.png"); phSp->setPosition(ccp(msgLabel->getPositionX(),msgLabel->getPositionY() - msgLabel->getContentSize().height / 2 - phSp->getContentSize().height / 2 - 3)); addChild(phSp); msg = (CCString*)text->objectForKey("pro"); msgLabel = CCLabelTTF::create(msg->getCString(), "Arial", 21,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); msgLabel->setColor(ccc3(0,0,0)); msgLabel->setPosition(ccp(pBackground->getPositionX() - pBackground->getContentSize().width / 2 + msgLabel->getContentSize().width / 2 + 10, phSp->getPositionY() - phSp->getContentSize().height / 2 - msgLabel->getContentSize().height / 2 - 3)); addChild(msgLabel); CCSprite* bombSp = CCSprite::create("Props_Bomb.png"); bombSp->setPosition(ccp(pBackground->getPositionX() - pBackground->getContentSize().width / 2 + bombSp->getContentSize().width / 2 + 10, msgLabel->getPositionY() - msgLabel->getContentSize().height / 2 - bombSp->getContentSize().height / 2 - 3)); addChild(bombSp); msg = (CCString*)text->objectForKey("bomb"); msgLabel = CCLabelTTF::create(msg->getCString(), "Arial", 18,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); msgLabel->setColor(ccc3(0,0,0)); msgLabel->setPosition(ccp(bombSp->getPositionX() + bombSp->getContentSize().width / 2 + msgLabel->getContentSize().width / 2 + 5, bombSp->getPositionY() + 13)); addChild(msgLabel); msg = (CCString*)text->objectForKey("useCoin"); CCString *showUseString = CCString::createWithFormat(msg->getCString(),GameData::getInstance()->m_nBombUseCoin); CCLabelTTF *showUseLabel = CCLabelTTF::create(showUseString->getCString(), "Arial", 14,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); showUseLabel->setColor(ccc3(0,0,0)); showUseLabel->setPosition(ccp(bombSp->getPositionX() + bombSp->getContentSize().width / 2 + showUseLabel->getContentSize().width / 2 + 5, msgLabel->getPositionY() - msgLabel->getContentSize().height / 2 - showUseLabel->getContentSize().height / 2 - 2)); addChild(showUseLabel); CCSprite *paintSp = CCSprite::create("Props_Paint.png"); paintSp->setPosition(ccp(pBackground->getPositionX() - pBackground->getContentSize().width / 2 + paintSp->getContentSize().width / 2 + 10, bombSp->getPositionY() - bombSp->getContentSize().height / 2 - paintSp->getContentSize().height / 2 - 10)); addChild(paintSp); msg = (CCString*)text->objectForKey("shua"); msgLabel = CCLabelTTF::create(msg->getCString(), "Arial", 18,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); msgLabel->setColor(ccc3(0,0,0)); msgLabel->setPosition(ccp(paintSp->getPositionX() + paintSp->getContentSize().width / 2 + msgLabel->getContentSize().width / 2 + 5, paintSp->getPositionY() + 13)); addChild(msgLabel); msg = (CCString*)text->objectForKey("useCoin"); showUseString = CCString::createWithFormat(msg->getCString(),GameData::getInstance()->m_nPaintUseCoin); showUseLabel = CCLabelTTF::create(showUseString->getCString(), "Arial", 14,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); showUseLabel->setColor(ccc3(0,0,0)); showUseLabel->setPosition(ccp(paintSp->getPositionX() + paintSp->getContentSize().width / 2 + showUseLabel->getContentSize().width / 2 + 5, msgLabel->getPositionY() - msgLabel->getContentSize().height / 2 - showUseLabel->getContentSize().height / 2 - 2)); addChild(showUseLabel); CCSprite *rainSp = CCSprite::create("Props_Rainbow.png"); rainSp->setPosition(ccp(pBackground->getPositionX() - pBackground->getContentSize().width / 2 + rainSp->getContentSize().width / 2 + 10, paintSp->getPositionY() - paintSp->getContentSize().height / 2 - rainSp->getContentSize().height / 2 - 10)); addChild(rainSp); msg = (CCString*)text->objectForKey("zhuan"); msgLabel = CCLabelTTF::create(msg->getCString(), "Arial", 18,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); msgLabel->setColor(ccc3(0,0,0)); msgLabel->setPosition(ccp(rainSp->getPositionX() + rainSp->getContentSize().width / 2 + msgLabel->getContentSize().width / 2 + 5, rainSp->getPositionY() + 13)); addChild(msgLabel); msg = (CCString*)text->objectForKey("useCoin"); showUseString = CCString::createWithFormat(msg->getCString(),GameData::getInstance()->m_nReflashUseCoin); showUseLabel = CCLabelTTF::create(showUseString->getCString(), "Arial", 14,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); showUseLabel->setColor(ccc3(0,0,0)); showUseLabel->setPosition(ccp(rainSp->getPositionX() + rainSp->getContentSize().width / 2 + showUseLabel->getContentSize().width / 2 + 5, msgLabel->getPositionY() - msgLabel->getContentSize().height / 2 - showUseLabel->getContentSize().height / 2 - 2)); addChild(showUseLabel); msg = (CCString*)text->objectForKey("quese"); msgLabel = CCLabelTTF::create(msg->getCString(), "Arial", 21,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); msgLabel->setColor(ccc3(0,0,0)); msgLabel->setPosition(ccp(pBackground->getPositionX() - pBackground->getContentSize().width / 2 + msgLabel->getContentSize().width / 2 + 10, rainSp->getPositionY() - rainSp->getContentSize().height / 2 - 25)); addChild(msgLabel); msg = (CCString*)text->objectForKey("phone"); showUseLabel = CCLabelTTF::create(msg->getCString(), "Arial", 21,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); showUseLabel->setColor(ccc3(0,0,0)); showUseLabel->setPosition(ccp(pBackground->getPositionX() - pBackground->getContentSize().width / 2 + showUseLabel->getContentSize().width / 2 + 10, msgLabel->getPositionY() - msgLabel->getContentSize().height / 2 - showUseLabel->getContentSize().height / 2 - 2)); addChild(showUseLabel); msg = (CCString*)text->objectForKey("qq"); msgLabel = CCLabelTTF::create(msg->getCString(), "Arial", 21,CCSizeMake(DESIGN_WIDTH - 40, 0),kCCTextAlignmentLeft); msgLabel->setColor(ccc3(0,0,0)); msgLabel->setPosition(ccp(pBackground->getPositionX() - pBackground->getContentSize().width / 2 + msgLabel->getContentSize().width / 2 + 10, showUseLabel->getPositionY() - showUseLabel->getContentSize().height / 2 - msgLabel->getContentSize().height / 2 - 2)); addChild(msgLabel); setPosition(ccp(0, -0.5 * getContentSize().height)); return true; }