void SpRuleInfoBox::initView() { CCPoint center = SGLayout::getPoint(kMiddleCenter); fontbg->setPreferredSize(CCSizeMake(380, 380)); fontbg->setPosition(ccpAdd(fontbg->getPosition(), ccp(0, 25))); SGCCLabelTTF *tips = SGCCLabelTTF::create(str_SpecialBattleIntro, FONT_PANGWA, 32 ,ccRED); this->addChild(tips, 2); tips->setPosition(ccpAdd(biao->getPosition(), ccp(0, 0))); //可滚动规则视图 CCScrollView *m_scrollview = CCScrollView::create(CCSizeMake(350, 150)); m_scrollview->setViewSize(CCSizeMake(350, 360)); CCLayerColor *container = CCLayerColor::create(ccc4(0, 0, 0, 0)); container->setContentSize(CCSizeMake(350, 355)); m_scrollview->setContainer(container); m_scrollview->setPosition(ccpAdd(center, ccp(-fontbg->getContentSize().width / 2, -fontbg->getContentSize().height / 2 + 30)));//设置scrollview位置 m_scrollview->setDirection(kCCScrollViewDirectionVertical); this->addChild(m_scrollview); m_scrollview->setTag(103); //测试数据 int finalLen = 0; int rankSize = 10; SGStaticDataManager *mgr = SGStaticDataManager::shareStatic(); for (int i = 0; i < mgr->getSpHelpInfoKeysNum(); i++) { std::string info = SGStaticDataManager::shareStatic()->getSingleSpBattleRule(i); if (info != "") { SGRuleItem *item = SGRuleItem::create(i, info.c_str()); container->addChild(item); item->setPosition(ccpAdd(container->getPosition(), ccp(item->getContentSize().width / 2.8, (item->getContentSize().height + 10) * (rankSize - i) - item->getContentSize().height - 30))); finalLen += (item->getContentSize().height + 10); } } m_scrollview->setContentOffset(ccp(0, -finalLen + m_scrollview->getContentSize().height - 10)); m_scrollview->setContentSize(CCSizeMake(350, finalLen)); m_scrollview->getContainer()->setContentSize(CCSizeMake(350, finalLen + 20)); SGButton *okButton = SGButton::createFromLocal("box_btnbg.png", str_Ok, this, menu_selector(SpRuleInfoBox::pressOkButton), ccp(0, 0), FONT_PANGWA, ccWHITE, 24); this->addBtn(okButton); okButton->setPosition(ccpAdd(center, ccp(0, -324/2+5 -70))); }
void SGAdvancedEffectLayer::initView() { // ccColor3B color[4] = {ccc3(0 , 239 , 22) , ccc3(75, 147, 255) ,ccc3(215,56,255) , ccc3(249, 158, 0)}; // // ccColor3B titleColor; ResourceManager::sharedInstance()->bindTexture("animationFile/Lightspot.plist",RES_TYPE_LAYER_UI ,sg_advancedEffectLayer); ResourceManager::sharedInstance()->bindTexture("animationFile/VisitArray.plist",RES_TYPE_LAYER_UI ,sg_advancedEffectLayer); int adNum = 0; int quality=0; //类型是全局通用的那个物品类型 char beforeItemPicStr[32] = "\0"; char afterItemPicStr[32] = "\0"; char itemNameStr[32] = "\0"; char itemAdNum[32] = "\0";// 小转生次次数 //6:将领卡牌 7:装备卡牌 8:士兵卡牌 9:道具卡牌 1:铜钱 0:金子 2天梯积分 3:军功 5:炼丹秘方 4:小喇叭 10:碎片 11军魂 12体力 13军粮 14号(废弃) 15消耗品 16 勋章 17 材料 //各种类型参数 switch (itemType) { case BIT_EQUIP://装备卡牌 { SGEquipmentDataModel *beforeEquipModel = SGStaticDataManager::shareStatic()->getEquipById(beforeAdvanceItemId); SGEquipmentDataModel *afterEquipModel = SGStaticDataManager::shareStatic()->getEquipById(afterAdvanceItemId); int beforeId = beforeEquipModel->getIconId(); int afterId = afterEquipModel->getIconId(); SGMainManager::shareMain()->addEquipPng(beforeId, sg_advancedEffectLayer); SGMainManager::shareMain()->addEquipPng(afterId, sg_advancedEffectLayer); sprintf(beforeItemPicStr, "equip%d.png", beforeId); sprintf(afterItemPicStr, "equip%d.png", afterId); sprintf(itemNameStr, "%s", afterEquipModel->getEquipName()->getCString()); adNum = afterEquipModel->getAdvNum(); if (adNum > 0) { sprintf(itemAdNum, "+%d", adNum); } //装备边框颜色 quality = afterEquipModel->getEquipCurrStarLevel(); // if(quality < 3 || quality > 6) // titleColor = ccGREEN; // else // titleColor = color[quality - 3]; } break; case BIT_OFFICER://武将卡牌 { SGOfficerDataModel *beforeEquipModel = SGStaticDataManager::shareStatic()->getOfficerById(beforeAdvanceItemId); SGOfficerDataModel *afterEquipModel = SGStaticDataManager::shareStatic()->getOfficerById(afterAdvanceItemId); int beforeId = beforeEquipModel->getIconId(); int afterId = afterEquipModel->getIconId(); SGMainManager::shareMain()->addOfficerPng(beforeId, sg_advancedEffectLayer); SGMainManager::shareMain()->addOfficerPng(afterId, sg_advancedEffectLayer); sprintf(beforeItemPicStr, "officer_%d.png", beforeId); sprintf(afterItemPicStr, "officer_%d.png", afterId); sprintf(itemNameStr, "%s", afterEquipModel->getOfficerName()->getCString()); adNum = afterEquipModel->getAdvNum(); if (adNum > 0) { sprintf(itemAdNum, "+%d", adNum); } //装备边框颜色 quality = afterEquipModel->getOfficerCurrStarLevel(); // if(quality < 3 || quality > 6) // titleColor = ccGREEN; // else // titleColor = color[quality - 3]; break; } default: break; } //构造sprite beforeAdvancedItemPic = CCSprite::createWithSpriteFrameName(beforeItemPicStr); afterAdvancedItemPic = CCSprite::createWithSpriteFrameName(afterItemPicStr); itemName = SGCCLabelTTF::create(itemNameStr, FONT_PANGWA, 35, SGTools::getColorByQuality(quality)); if (adNum) { adNumLabel = SGCCLabelTTF::create(itemAdNum, FONT_PANGWA, 34, ccGREEN); } //黑背景 CCLayerColor *blackBg = CCLayerColor::create(ccc4(0, 0, 0, 255), CCDirector::sharedDirector()->getWinSize().width, CCDirector::sharedDirector()->getWinSize().height); this->addChild(blackBg, 0); blackBg->setPosition(ccp(0, 0)); blackBg->addChild(beforeAdvancedItemPic, 1); blackBg->addChild(itemName, 1); beforeAdvancedItemPic->setPosition(ccpAdd(blackBg->getPosition(), ccp(blackBg->getContentSize().width / 2, blackBg->getContentSize().height / 2))); itemName->setPosition(ccpAdd(beforeAdvancedItemPic->getPosition(), ccp(0, beforeAdvancedItemPic->getContentSize().height / 2 + itemName->getContentSize().height + 20))); if (adNumLabel) { blackBg->addChild(adNumLabel, 1); adNumLabel->setPosition(ccpAdd(itemName->getPosition(), ccp(itemName->getContentSize().width / 2 + 10 + adNumLabel->getContentSize().width, 0))); } CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //添加动画 法阵旋转 CCSpriterX *visitArray = CCSpriterX::create("animationFile/Array.scml",true,true); visitArray->setisloop(true); visitArray->play(); visitArray->setanimaID(0); blackBg->addChild(visitArray,1); visitArray->setPosition(ccp(winSize.width/2, winSize.height*(0.8-0.28) - 50)); //法阵上升粒子 CCSpriterX *lightSpot = CCSpriterX::create("animationFile/Lightspot.scml",true,true); lightSpot->setisloop(true); lightSpot->play(); lightSpot->setanimaID(0); blackBg->addChild(lightSpot,50); lightSpot->setPosition(ccp(winSize.width/2, winSize.height*(0.8-0.2))); //构造动画 CCCallFuncN *setPicVisiable = CCCallFuncN::create(this, callfuncN_selector(SGAdvancedEffectLayer::setPictureVisiable)); CCCallFuncN *setTipsVisiable = CCCallFuncN::create(this, callfuncN_selector(SGAdvancedEffectLayer::setSuccessTipsVisiable)); CCCallFuncN *setComplete = CCCallFuncN::create(this, callfuncN_selector(SGAdvancedEffectLayer::setisPlayCompleted)); afterAdvancedItemPic->setScale(5); blackBg->addChild(afterAdvancedItemPic, 2); afterAdvancedItemPic->setPosition(beforeAdvancedItemPic->getPosition()); CCString * str = NULL; int fSize = 36; if(m_officerFrom == 1) str = CCString::create(str_adv_eff_1); else if (2 == m_officerFrom) str = CCString::create(str_adv_eff_2); else if(-1 == m_officerFrom) str = CCString::create(str_adv_eff_1); else if (3 == m_officerFrom) { str = CCString::createWithFormat(str_adv_eff_3, _extArg); fSize = 26; } else { //默认只显示 『转生成功』 str = CCString::create(str_adv_eff_1); } successTips = SGCCLabelTTF::create(str->getCString(), FONT_PANGWA, fSize); blackBg->addChild(successTips, 3); successTips->setPosition(ccpAdd(afterAdvancedItemPic->getPosition(), ccp(0, -afterAdvancedItemPic->getContentSize().height / 2 - successTips->getContentSize().height - 100))); successTips->setVisible(false); CCSequence *seq = CCSequence::create(CCDelayTime::create(0.1),setPicVisiable, CCScaleTo::create(SHOWCARDGAPTIME*2,0.89), CCScaleTo::create(SHOWCARDGAPTIME,1.13), CCScaleTo::create(SHOWCARDGAPTIME,1.06), CCScaleTo::create(SHOWCARDGAPTIME,1), CCDelayTime::create(0.15), setTipsVisiable, CCDelayTime::create(0.15), setComplete, NULL); afterAdvancedItemPic->runAction(seq); CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, -255, true); }
// on "init" you need to initialize your instance bool MainMenuScene::init() { // Parent CCLayerColor *layer = CCLayerColor::create(); layer->initWithColor(ccc4(255, 255, 255, 255), VisibleRect::right().x , VisibleRect::top().y); layer->setPosition(VisibleRect::center()); layer->setAnchorPoint(ccp(0.5f, 0.5f)); layer->ignoreAnchorPointForPosition(false); addChild(layer, 0); CCSprite *fondo = CCSprite::create("fondo.png"); fondo->setPosition(VisibleRect::center()); layer->addChild(fondo); // 1st Son CCLayerColor *upperLayer = CCLayerColor::create(); upperLayer->setContentSize(ccp(VisibleRect::right().x , VisibleRect::top().y/2)); //upperLayer->initWithColor(ccc4(120, 120, 120, 120), VisibleRect::right().x , VisibleRect::top().y/2); upperLayer->setPosition(ccp(VisibleRect::left().x, VisibleRect::center().y)); upperLayer->setAnchorPoint(ccp(0,0)); upperLayer->ignoreAnchorPointForPosition(false); layer->addChild(upperLayer, 0); CCSprite *spriteLogo = CCSprite::create("logo_opciones.png"); spriteLogo->setPosition(ccp(layer->getPosition().x, layer->getPosition().y/2)); upperLayer->addChild(spriteLogo); // 2nd Son CCLayerColor *lowerLayer = CCLayerColor::create(); lowerLayer->setContentSize(ccp(VisibleRect::right().x , VisibleRect::top().y/2)); //lowerLayer->initWithColor(ccc4(200, 200, 200, 200), VisibleRect::right().x , VisibleRect::top().y/2); lowerLayer->setPosition(ccp(VisibleRect::left().x, VisibleRect::bottom().y)); lowerLayer->setAnchorPoint(ccp(0,0)); lowerLayer->ignoreAnchorPointForPosition(false); layer->addChild(lowerLayer, 0); int mySize = lowerLayer->getContentSize().height / 3; // Button SAILKAPENA CCTexture2D *texture1 = CCTextureCache::sharedTextureCache()->addImage("botoia_normal.png"); SpriteButton *pButton1 = SpriteButton::create(texture1 ,this, callfuncO_selector(MainMenuScene::menuSelector), 1.0f); pButton1->setTag(2); pButton1->setPosition(ccp( lowerLayer->getContentSize().width / 2, lowerLayer->getContentSize().height / 2)); pButton1->setAnchorPoint(ccp(0.5f, 0.5f)); CCLabelTTF *pLabel1 = CCLabelTTF::create("Sailkapena", "fonts/PT_Sans-Web-Bold.ttf", 30.0); pLabel1->setPosition(ccp( lowerLayer->getContentSize().width / 2, lowerLayer->getContentSize().height / 2)); lowerLayer->addChild(pButton1); lowerLayer->addChild(pLabel1); // Button JOKATU CCTexture2D *texture2 = CCTextureCache::sharedTextureCache()->addImage("botoia_normal.png"); SpriteButton *pButton2 = SpriteButton::create(texture2 ,this, callfuncO_selector(MainMenuScene::menuSelector), 1.0f); pButton2->setTag(1); pButton2->setPosition(ccp( lowerLayer->getContentSize().width / 2, (mySize * 3) - texture2->getContentSize().height)); pButton2->setAnchorPoint(ccp(0.5f, 0.5f)); CCLabelTTF *pLabel2 = CCLabelTTF::create("Jokatu", "fonts/PT_Sans-Web-Bold.ttf", 30.0); pLabel2->setPosition(ccp( lowerLayer->getContentSize().width / 2, (mySize * 3) - texture2->getContentSize().height)); lowerLayer->addChild(pButton2); lowerLayer->addChild(pLabel2); // Button HONI BURUZ CCTexture2D *texture3 = CCTextureCache::sharedTextureCache()->addImage("botoia_normal.png"); SpriteButton *pButton3 = SpriteButton::create(texture3 ,this, callfuncO_selector(MainMenuScene::menuSelector), 1.0f); pButton3->setTag(3); pButton3->setPosition(ccp( lowerLayer->getContentSize().width / 2, mySize - (texture2->getContentSize().height / 2))); pButton3->setAnchorPoint(ccp(0.5f, 0.5f)); CCLabelTTF *pLabel3 = CCLabelTTF::create("Honi buruz", "fonts/PT_Sans-Web-Bold.ttf", 30.0); pLabel3->setPosition(ccp( lowerLayer->getContentSize().width / 2, mySize - (texture2->getContentSize().height / 2))); lowerLayer->addChild(pButton3); lowerLayer->addChild(pLabel3); return true; }