Beispiel #1
0
CCSprite* CreditsScreen::createPerson(const std::string& name, const std::string& twitterLink, const std::string& fbLink)
{
    const float iconSize = 32;
    
    bool useTwitter = !twitterLink.empty();
    bool useFB = !fbLink.empty();
    
    CCSprite* person = CCSprite::create();
    
    CCLabelTTF* nameLabel = CCLabelTTF::create(name.c_str(), default_font.c_str(), FONT_SIZE_PERSON);
    nameLabel->setPositionX(nameLabel->getContentSize().width / 2);
    
    float totalWidth = nameLabel->getContentSize().width;
    float totalHeight = MAX(nameLabel->getContentSize().height, iconSize);
    
    if(useTwitter || useFB){
        totalWidth += PADDING_AFTER_NAME;
    }
    
    if(useTwitter){
        totalWidth += iconSize + PADDING_PERSON;
        
        urls.push_back(twitterLink);
        Button* twitterButton = ButtonFactory::imageButton(TWITTER_ICON_INACTIVE, TWITTER_ICON_PRESSED, new Handler(this, callfuncD_selector(CreditsScreen::openURL), (void*)(urls.size() - 1)), BUTTON_PRIORITY);
        twitterButton->setPositionX(nameLabel->getPositionX() + totalWidth - iconSize - nameLabel->getContentSize().width/2);
        twitterButton->setPositionY(totalHeight / 2);

        person->addChild(twitterButton);
    }
    
    if(useFB) {
        totalWidth += iconSize + PADDING_PERSON;

        urls.push_back(fbLink);
        Button* fbButton = ButtonFactory::imageButton(FB_ICON_INACTIVE, FB_ICON_PRESSED, new Handler(this, callfuncD_selector(CreditsScreen::openURL), (void*)(urls.size() - 1)), BUTTON_PRIORITY);
        
        fbButton->setPositionX(nameLabel->getPositionX() + totalWidth - iconSize - nameLabel->getContentSize().width/2);
        fbButton->setPositionY(totalHeight / 2);
        
        person->addChild(fbButton);
    }
    
    person->setContentSize(CCSizeMake(totalWidth, totalHeight));
    nameLabel->setPositionY(totalHeight / 2);
    person->addChild(nameLabel);
    
    return person;
}
void GameLayer::_showAudioPlaying()
{
    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();
    
    CCLabelTTF* lblMusic = CCLabelTTF::create(CCString::createWithFormat("Playing %s", _music.description)->getCString(), FONT_GAME, 35.0f, CCSizeMake(winSize.width * 0.85f, winSize.height * 0.15f), kCCTextAlignmentRight, kCCVerticalTextAlignmentTop);
    
    lblMusic->setPositionX(origin.x + visibleSize.width * 0.55f);
    lblMusic->setPositionY(origin.y - visibleSize.height * 0.25f);
    
    CCMoveTo* ac1 = CCMoveTo::create(1.0f, ccp(lblMusic->getPositionX(), origin.y + visibleSize.height * 0.05f));
    
    CCDelayTime* ac2 = CCDelayTime::create(2.1f);
    
    CCFadeOut* ac3 = CCFadeOut::create(0.9f);
    
    CCCallFuncN* ac4 = CCCallFuncN::create(this, callfuncN_selector(GameLayer::_removeNode));
    
    addChild(lblMusic, kDeepGameFinish);
    
    lblMusic->runAction(CCSequence::create(ac1, ac2, ac3, ac4, NULL));
    
    SimpleAudioEngine::sharedEngine()->playBackgroundMusic(_music.bg_music, true);
    
}
Beispiel #3
0
void IOSStoreLayer::setLeftBgString(const char* charString)
{
	if (CCNode* pnode = m_pKaibaoxiangNode->getChildByTag(leftbg_tag))
	{
		CCLabelTTF* pLable = (CCLabelTTF*)pnode->getChildByTag(leftbg_string_tag);
		if (pLable)
		{
			pLable->setString(charString);
			if (m_enumComeFrom == from_SeasonSelector)
			{
				pLable->setPosition(ccp(pLable->getPositionX(), 198));
			}
			else if (m_enumComeFrom == from_MarketStore)
			{
				pLable->setPosition(ccp(pLable->getPositionX(), 188));
			}
		}
	}
}
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());
}
Beispiel #5
0
void MailListTile::setSystemMail(Email mail)
{
	m_sSystemMail = mail;
	string biaotiImg[5] = {"denglujiangli_langtiao.png","denglujiangli_langtiao.png","denglujiangli_hongtiao.png","denglujiangli_hangtiao.png","denglujiangli_zitiao.png"};

	string titleStr[5] = {LFStrings::getValue("XiTongJiangli"),LFStrings::getValue("XiTongBuChang"),LFStrings::getValue("XiTongTongZhi"),LFStrings::getValue("HaoYouShenQing"),LFStrings::getValue("HaoYouShanChu")};
	CCSprite *bgSpr = CCSprite::create("denglujiangli_jinri_bg.png");
	bgSpr->setAnchorPoint(CCPointZero);
	CCPoint pos;
	pos.x = 5;
	pos.y = 0;
	bgSpr->setPosition(pos);
	addChild(bgSpr,-1);
	m_sBgSpr = bgSpr;
	int side = 10;
	this->setContentSize(bgSpr->getContentSize());
	{//标题
		CCSprite *titleSpr = CCSprite::create(biaotiImg[mail.type].c_str());
		titleSpr->setPosition(ccp(bgSpr->getContentSize().width / 2,bgSpr->getContentSize().height - titleSpr->getContentSize().height / 2));
		bgSpr->addChild(titleSpr);
		
		CCLabelTTF *titleTTF = CCLabelTTF::create(titleStr[mail.type].c_str(),fontStr_kaiti,20.0f);
		titleTTF->setPosition(titleSpr->getPosition());
		bgSpr->addChild(titleTTF);
		titleTTF->setColor(ccWHITE);
		string info;
		if (mail.summary.length() > 1)
		{
			info = mail.summary;
		}
		else
		{
			info = mail.content;
		}
		//内容
		switch (mail.type)
		{
		case 0:
		case 1:
			{
				
				
				CCLabelTTF *ttf = CCLabelTTF::create(info.c_str(),fontStr_kaiti,20.0f);
				ttf->setAnchorPoint(ccp(0,1.0f));
				ttf->setPosition(ccp(ttf->getContentSize().height ,bgSpr->getContentSize().height - titleSpr->getContentSize().height - side));
				ttf->setDimensions(CCSizeMake(bgSpr->getContentSize().width - 2 * ttf->getContentSize().height,bgSpr->getContentSize().height - titleSpr->getContentSize().height));
				ttf->setHorizontalAlignment(kCCTextAlignmentLeft);
				bgSpr->addChild(ttf);
				ttf->setColor(m_cTTFColor);
				if (mail.is_read)
				{
					CCMenuItemImage *menuItem = CCMenuItemImage::create("youxiang_anniu_shanchu.png","youxiang_anniu_shanchu_select.png","youxiang_anniu_shanchu_select.png",this,SEL_MenuHandler(&MailListTile::selectDelete));
					menuItem->setTag(mail.email_id);
					menuItem->setPosition(ccp(bgSpr->getPositionX() + bgSpr->getContentSize().width - menuItem->getContentSize().width / 2 - m_nSide,pos.y + m_nSide + menuItem->getContentSize().height / 2));
					m_mMenu->addChild(menuItem);

					CCSprite *koSpr = CCSprite::create("jingjichang_wanjiazhuangtailan_ko.png");
					koSpr->setPosition(ccp(bgSpr->getContentSize().width - koSpr->getContentSize().width / 2 - menuItem->getContentSize().width, 20 + koSpr->getContentSize().height / 2));
					bgSpr->addChild(koSpr);
				}
				else
				{
					CCMenuItemImage *menuItem = CCMenuItemImage::create("youxiang_anniu_xiangqing.png","youxiang_anniu_xiangqing_select.png","youxiang_anniu_xiangqing_select.png",this,SEL_MenuHandler(&MailListTile::selectCheckInfo));
					menuItem->setTag(mail.email_id);
					menuItem->setPosition(ccp(bgSpr->getPositionX() + bgSpr->getContentSize().width - menuItem->getContentSize().width / 2 - m_nSide,pos.y + m_nSide + menuItem->getContentSize().height / 2));
					m_mMenu->addChild(menuItem);
				}
			}
			break;
		case 2:
			{
				CCLabelTTF *ttf = CCLabelTTF::create(info.c_str(),fontStr_kaiti,20.0f);
				ttf->setAnchorPoint(ccp(0,1.0f));
				ttf->setPosition(ccp(ttf->getContentSize().height ,bgSpr->getContentSize().height - titleSpr->getContentSize().height - side));
				ttf->setDimensions(CCSizeMake(bgSpr->getContentSize().width - 2 * ttf->getContentSize().height,bgSpr->getContentSize().height - titleSpr->getContentSize().height));
				ttf->setHorizontalAlignment(kCCTextAlignmentLeft);
				bgSpr->addChild(ttf);
				ttf->setColor(m_cTTFColor);
				if (mail.is_read)
				{
					CCMenuItemImage *menuItem = CCMenuItemImage::create("youxiang_anniu_xiangqing.png","youxiang_anniu_xiangqing_select.png","youxiang_anniu_xiangqing_select.png",this,SEL_MenuHandler(&MailListTile::selectCheckInfo));
					menuItem->setTag(mail.email_id);
					menuItem->setPosition(ccp(bgSpr->getPositionX() + bgSpr->getContentSize().width - menuItem->getContentSize().width / 2 - m_nSide * 2 - menuItem->getContentSize().width,pos.y + m_nSide + menuItem->getContentSize().height / 2));
					m_mMenu->addChild(menuItem);


					CCMenuItemImage *menuItem2 = CCMenuItemImage::create("youxiang_anniu_shanchu.png","youxiang_anniu_shanchu_select.png","youxiang_anniu_shanchu_select.png",this,SEL_MenuHandler(&MailListTile::selectDelete));
					menuItem2->setTag(mail.email_id);
					menuItem2->setPosition(ccp(bgSpr->getPositionX() + bgSpr->getContentSize().width - menuItem2->getContentSize().width / 2 - m_nSide,pos.y + m_nSide + menuItem2->getContentSize().height / 2));
					m_mMenu->addChild(menuItem2);
				}
				else
				{
					CCMenuItemImage *menuItem = CCMenuItemImage::create("youxiang_anniu_xiangqing.png","youxiang_anniu_xiangqing_select.png","youxiang_anniu_xiangqing_select.png",this,SEL_MenuHandler(&MailListTile::selectCheckInfo));
					menuItem->setTag(mail.email_id);
					menuItem->setPosition(ccp(bgSpr->getPositionX() + bgSpr->getContentSize().width - menuItem->getContentSize().width / 2 - m_nSide,pos.y + m_nSide + menuItem->getContentSize().height / 2));
					m_mMenu->addChild(menuItem);
				}
			}
			break;
		case 3:
			{
				CCLabelTTF *ttf = CCLabelTTF::create(CCString::createWithFormat("%s",mail.addresserName.c_str())->getCString(),fontStr_kaiti,20.0f);
				ttf->setAnchorPoint(ccp(0,1.0f));
				ttf->setPosition(ccp(ttf->getContentSize().height ,bgSpr->getContentSize().height - titleSpr->getContentSize().height - side));
				//ttf->setDimensions(CCSizeMake(bgSpr->getContentSize().width - 2 * ttf->getContentSize().height,bgSpr->getContentSize().height - titleSpr->getContentSize().height));
				ttf->setHorizontalAlignment(kCCTextAlignmentLeft);
				bgSpr->addChild(ttf);

				
				

				CCLabelTTF *ttf2 = CCLabelTTF::create(CCString::createWithFormat("%s",info.c_str())->getCString(),fontStr_kaiti,20.0f);
				ttf2->setAnchorPoint(ccp(0,1.0f));
				ttf2->setPosition(ccp(ttf->getPositionX() + ttf->getContentSize().width ,ttf->getPositionY()));
				ttf2->setDimensions(CCSizeMake(bgSpr->getContentSize().width - ttf->getPositionX() - ttf->getContentSize().width ,ttf->getPositionY()));
				ttf2->setHorizontalAlignment(kCCTextAlignmentLeft);
				bgSpr->addChild(ttf2);
				ttf2->setColor(m_cTTFColor);
				if (ttf->getContentSize().height == 0)
				{
					ttf2->setPosition(ccp(30.0f ,ttf->getPositionY()));
				}

				if (mail.is_read)
				{
					CCMenuItemImage *menuItem = CCMenuItemImage::create("youxiang_anniu_shanchu.png","youxiang_anniu_shanchu_select.png","youxiang_anniu_shanchu_select.png",this,SEL_MenuHandler(&MailListTile::selectDelete));
					menuItem->setTag(mail.email_id);
					menuItem->setPosition(ccp(bgSpr->getPositionX() + bgSpr->getContentSize().width - menuItem->getContentSize().width / 2 - m_nSide,pos.y + m_nSide + menuItem->getContentSize().height / 2));
					m_mMenu->addChild(menuItem);
				}
				else
				{
					CCMenuItemImage *menuItem = CCMenuItemImage::create("youxiang_anniu_jieshou.png","youxiang_anniu_jieshou_select.png","youxiang_anniu_jieshou_select.png",this,SEL_MenuHandler(&MailListTile::selectOK));
					menuItem->setTag(mail.email_id);
					menuItem->setPosition(ccp(bgSpr->getPositionX() + bgSpr->getContentSize().width - menuItem->getContentSize().width / 2 - m_nSide * 2 - menuItem->getContentSize().width,pos.y + m_nSide + menuItem->getContentSize().height / 2));
					m_mMenu->addChild(menuItem);


					CCMenuItemImage *menuItem2 = CCMenuItemImage::create("youxiang_anniu_jujue.png","youxiang_anniu_jujue_select.png","youxiang_anniu_jujue_select.png",this,SEL_MenuHandler(&MailListTile::selectCancel));
					menuItem2->setTag(mail.email_id);
					menuItem2->setPosition(ccp(bgSpr->getPositionX() + bgSpr->getContentSize().width - menuItem2->getContentSize().width / 2 - m_nSide,pos.y + m_nSide + menuItem2->getContentSize().height / 2));
					m_mMenu->addChild(menuItem2);
				}

			}
			break;
		case 4:
			{
				CCLabelTTF *ttf = CCLabelTTF::create(CCString::createWithFormat("%s",info.c_str())->getCString(),fontStr_kaiti,20.0f);
				ttf->setAnchorPoint(ccp(0,1.0f));
				ttf->setPosition(ccp(ttf->getContentSize().height ,bgSpr->getContentSize().height - titleSpr->getContentSize().height - side));
				ttf->setDimensions(CCSizeMake(bgSpr->getContentSize().width - 2 * ttf->getContentSize().height,bgSpr->getContentSize().height - titleSpr->getContentSize().height));
				ttf->setHorizontalAlignment(kCCTextAlignmentLeft);
				bgSpr->addChild(ttf);
				ttf->setColor(ccRED);
				CCMenuItemImage *menuItem = CCMenuItemImage::create("youxiang_anniu_shanchu.png","youxiang_anniu_shanchu_select.png","youxiang_anniu_shanchu_select.png",this,SEL_MenuHandler(&MailListTile::selectDelete));
				menuItem->setTag(mail.email_id);
				menuItem->setPosition(ccp(bgSpr->getPositionX() + bgSpr->getContentSize().width - menuItem->getContentSize().width / 2 - m_nSide,pos.y + m_nSide + menuItem->getContentSize().height / 2));
				m_mMenu->addChild(menuItem);
			}
			break;
		default:
			break;
		}
	}
}
Beispiel #6
0
CCTableViewCell* FriendList::tableCellAtIndex(CCTableView *table, unsigned int idx)
{
    EziFacebookFriend* friendDetails = (EziFacebookFriend*)mFriendList->objectAtIndex(idx);
    std::string friendID            = friendDetails->getFBID();
    std::string friendName          = friendDetails->getName();
    std::string installed           = "";
    std::string score               = "";
    CCSprite* profilePic            = NULL;
    
    // Set the score.
    long mylong = friendDetails->getScore();
    std::stringstream mystream;
    mystream << mylong;
    score = mystream.str();
    
    // Set the install status
    if (friendDetails->isInstalled())
    {
        installed = "Installed";
    }
    else
    {
        installed = "Not Installed";
    }
    
    
    CCTableViewCell *cell = table->dequeueCell();
    
    
    if (!cell) // Creation of Cell.
    {
        cell = new CCTableViewCell();
        cell->autorelease();
        
        CCLayerColor* colorLayer = CCLayerColor::create(ccc4(20, 0, 40, 255), SCREEN_WIDTH, CELL_HEIGHT);
        cell->addChild(colorLayer);
        
        CCSprite *sprite = NULL;
        
        if (strcmp(friendDetails->getPhotoPath(), "") != 0)
        {
            const char*  picPath = friendDetails->getPhotoPath();
            sprite = CCSprite::create(picPath);
        }
        else
        {
            sprite = CCSprite::create(FB_DEFAULT_PHOTO);
        }
        
        if (sprite == NULL)
        {
            CCLOG("Sprite is NULL");
        }
        
        sprite->setAnchorPoint(ccp(0, 0.5));
        sprite->setPosition(ccp(20, CELL_HEIGHT/2));
        cell->addChild(sprite);
        //sprite->setScale(0.9);
        sprite->setTag(FRIEND_PHOTO_TAG);
        
        // Friend Facebook ID
        CCLabelTTF *friendIDLabel = CCLabelTTF::create(friendID.c_str(), "Helvetica", 20.0 * MENU_FONT_SCALE);
        
        float gapY =  (CELL_HEIGHT - (friendIDLabel->getContentSize().height * 2)) / 3;
        
        if (sprite)
        {
            friendIDLabel->setPosition(ccp(sprite->getPositionX() + sprite->getContentSize().width + 20, CELL_HEIGHT - gapY));
        }
        
		friendIDLabel->setAnchorPoint(ccp(0, 1));
        friendIDLabel->setTag(FRIEND_ID_LABEL_TAG);
        cell->addChild(friendIDLabel);
        
        // Friend Facebook Name
        CCLabelTTF *friendNameLabel = CCLabelTTF::create(friendName.c_str(), "Helvetica", 20.0 * MENU_FONT_SCALE);
        friendNameLabel->setPosition(ccp(friendIDLabel->getPositionX(),
                                         friendIDLabel->getPositionY() - friendIDLabel->getContentSize().height - gapY));
        
		friendNameLabel->setAnchorPoint(ccp(0, 1));
        friendNameLabel->setTag(FRIEND_NAME_LABEL_TAG);
        cell->addChild(friendNameLabel);
        
        
        // High Score
        CCLabelTTF *scoreLabel = CCLabelTTF::create(score.c_str(), "Helvetica", 20.0 * MENU_FONT_SCALE);
        scoreLabel->setPosition(ccp(SCREEN_WIDTH - 20, friendIDLabel->getPositionY()));
        
        scoreLabel->setAnchorPoint(ccp(1, 1));
        scoreLabel->setTag(FRIEND_SCORE_LABEL_TAG);
        cell->addChild(scoreLabel);
        
        // Installed String
        CCLabelTTF *installedLabel = CCLabelTTF::create(installed.c_str(), "Helvetica", 20.0 * MENU_FONT_SCALE);
        installedLabel->setPosition(ccp(SCREEN_WIDTH - 20, friendNameLabel->getPositionY()));
        
        installedLabel->setAnchorPoint(ccp(1, 1));
        installedLabel->setTag(FRIEND_INSTALLED_LABEL_TAG);
        cell->addChild(installedLabel);
        
    }
    else
    {
        
        // Set the Friend ID
        CCLabelTTF *friendIDLabel = (CCLabelTTF*)cell->getChildByTag(FRIEND_ID_LABEL_TAG);
        friendIDLabel->setString(friendID.c_str());
        
        // Set the Friend Name
        CCLabelTTF *friendNameLabel = (CCLabelTTF*)cell->getChildByTag(FRIEND_NAME_LABEL_TAG);
        friendNameLabel->setString(friendName.c_str());
        
        
        CCLabelTTF *highScoreLabel = (CCLabelTTF*)cell->getChildByTag(FRIEND_SCORE_LABEL_TAG);
        if (highScoreLabel != NULL)
        {
            highScoreLabel->setString(score.c_str());
        }
        
        highScoreLabel->setVisible(mEnableHighScoreDisplay);
        
        
        CCLabelTTF *installedLabel = (CCLabelTTF*)cell->getChildByTag(FRIEND_INSTALLED_LABEL_TAG);
        if (installedLabel != NULL)
        {
            installedLabel->setString(installed.c_str());
        }
        installedLabel->setVisible(mEnableInstalledDisplay);
        
        
        CCSprite* cellProfilePic = (CCSprite*)cell->getChildByTag(FRIEND_PHOTO_TAG);
        
        if (strcmp("", friendDetails->getPhotoPath()) != 0 )
        {
            const char*  picPath = friendDetails->getPhotoPath();
            profilePic = CCSprite::create(picPath);
            
        }
        else
        {
            profilePic = CCSprite::create(FB_DEFAULT_PHOTO);
        }
        
        
        cellProfilePic->setTexture(profilePic->getTexture());
    }
    
    
    return cell;
}
Beispiel #7
0
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;
}
Beispiel #8
0
void TanSuoLayer::menuItemClicked_TanSuo(CCObject *pSender)
{
	int tag = ((CCMenuItem*)pSender)->getTag();

	if (tag == Tag_MenuItem_YiJianTanSuo)
	{
		if (m_bIsJieFeng)
		{
			string infoStr = LFStrings::getValue("XuYaoJieFeng");
			UnblockWarnDialog* pDlg = UnblockWarnDialog::create(infoStr);
			CCDirector::sharedDirector()->getRunningScene()->addChild(pDlg, 300);
			return;
		}
		if (MyselfManager::getManager()->getMyZhuJueData()->getVipLevel() < 3)
		{
			FXToast *layer = FXToast::create(LFStrings::getValue("XunBao_VipNeed"));
			CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
			return;
		}

		m_bDiscoverAll = true;
		addObserver(callfuncO_selector(TanSuoLayer::rsp_tansuo), MSG_discoverRsp);
		mCmdHlp->cmdDiscover(m_bDiscoverAll);
	}
	else if (tag == Tag_MenuItem_TanSuo)
	{
		m_bDiscoverAll = false;
		addObserver(callfuncO_selector(TanSuoLayer::rsp_tansuo), MSG_discoverRsp);
		mCmdHlp->cmdDiscover(m_bDiscoverAll);
	}
	else if (tag == Tag_MenuItem_JieFen)
	{
		if (mDestroyCount >= m_nMaxCountDestroy)
		{
			m_bIsJieFeng = true;
			m_nSelectProId = -1;
			if (! EquipmentManager::getManager()->isSpareEnoughToSaveEquip(1))
			{
				EquipBagNotEnoughDialog *layer = new EquipBagNotEnoughDialog;
				layer->showGoToFenJieDialog();
			}


			CCSize visSize = CCDirector::sharedDirector()->getWinSize();
			BaseSprite* dialog = BaseSprite::create("juqing_duihuakuang.png");
			dialog->setPosition(ccp(visSize.width/2, visSize.height/2));
			//label 提示
			{
				/*CCLabelTTF* label = CCLabelTTF::create(LFStrings::getValue("XunBao_XuanZeHeroTiShi").c_str(), 
				fontStr_kaiti, m_nFontSize, CCSize(425, 0), kCCTextAlignmentLeft);
				label->setAnchorPoint(ccp(0.5, 1));
				label->setPosition(ccp(dialog->getContentSize().width/2, 250));
				dialog->addChild(label, 1);*/

				CCLabelTTF *title = CCLabelTTF::create(LFStrings::getValue("JieChuFengYin").c_str(),fontStr_kaiti,m_nFontSize);
				title->setAnchorPoint(ccp(0.5,1));
				title->setPosition(ccp(dialog->getContentSize().width/2, 250));
				dialog->addChild(title, 1);


				CCLabelTTF *chuanqi = CCLabelTTF::create(LFStrings::getValue("ChuanQiZhuangBei").c_str(),fontStr_kaiti,m_nFontSize);
				chuanqi->setAnchorPoint(ccp(0.5,1));
				chuanqi->setPosition(ccp(title->getPositionX() - title->getContentSize().width / 2 + m_nFontSize * 7 + chuanqi->getContentSize().width / 2, 250));
				dialog->addChild(chuanqi, 1);
				chuanqi->setColor(ccc3(235,106,12));
			}
			{
				m_lMenuItemList.clear();
				//mHeros = MyselfManager::getManager()->getTeamActors_ZhenShen(Actor_All, LF_UnLock);
				mHeros = MyselfManager::getManager()->getTeamActors_ZhenShen(Actor_ShangZheng, LF_UnLock);
				//tabel view
				CCTableView *tabelView = CCTableView::create(this, CCSizeMake(560, 158));
				tabelView->setDirection(kCCScrollViewDirectionHorizontal);
				tabelView->setPosition(ccp(41, 44));
				tabelView->setDelegate(this);
				dialog->addChild(tabelView);
				tabelView->reloadData();
			}
			//确认 取消按键  
			CCMenu* menu = CCMenu::create();
			menu->setPosition(CCPointZero);
			menu->setTag(0);
			//
			{
				LFAlert* lfAlert = new LFAlert();
				lfAlert->setTag(TAG_AwardDisplayer_Layer);
				lfAlert->setBaseContainer(dialog,menu);
				lfAlert->setZoneCanotTouch();
				CCDirector::sharedDirector()->getRunningScene()->addChild(lfAlert,128, TAG_AwardDisplayer_Layer);
				lfAlert->release();
			}
			return;
		}
		else
		{
			MessageDisplay* layer = MessageDisplay::create("ERROR!");
			CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
			return;
		}
	}
}
Beispiel #9
0
void TanSuoLayer::rsp_query(CCObject *msg)
{
	removeObserver(MSG_queryDiscoverInfoRsp);
	GameDirector::getDirector()->hideWaiting();

	SPCmd_QueryDiscoverInfoRsp* data = (SPCmd_QueryDiscoverInfoRsp*) ((MSG_Rsp*)msg)->getData();

	if(data->err_code != Success)
	{
		MessageDisplay* layer = MessageDisplay::create(mCmdHlp->getMessage(data->err_code));
		CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
		return;
	}

	mMainMenu->setVisible(true);

	CCString temp;

	int xunBaoCount = CS::getDiscoverLimitTimes(MyselfManager::getManager()->getMyZhuJueData()->getVipLevel());//寻宝次数上限
	//当前剩余次数
	/*temp.initWithFormat("%u/%u", data->remainder_times, 
		CS::getDiscoverLimitTimes(MyselfManager::getManager()->getMyZhuJueData()->getVipLevel()));*/
	temp.initWithFormat("%u", data->remainder_times);
	CCLabelTTF *numLabel = CCLabelTTF::create(temp.getCString(), fontStr_BookAntiqua, m_nFontSize);
	mBg->addChild(numLabel, 1, Tag_Label_CurNum);
	//numLabel->setAnchorPoint(ccp(0, 0.5));
	numLabel->setPosition(ccp(374, mBg->getContentSize().height-762));
	numLabel->setColor(ccGREEN);
	//int shengyuTimes = MAX_TANSUOTIMES - data->discovered_times;
	int shengyuTimes = MAX_TANSUOTIMES - data->discovered_times;

	unsigned int serverTime = ServerTime::getTime();
	int tm = 360 - (serverTime - data->last_modify_timestamp) % 360;
	string timeStr = getTimeForString(tm);
	m_nRefreshTime = tm;
	CCLabelTTF *timeTTF = CCLabelTTF::create(CCString::createWithFormat("(%s)",timeStr.c_str())->getCString(), fontStr_kaiti, m_nFontSize);
	mBg->addChild(timeTTF, 1);
	//haixuNumLabel->setAnchorPoint(ccp(0,0.5));
	timeTTF->setPosition(ccp( numLabel->getPositionX() + numLabel->getContentSize().width / 2 + timeTTF->getContentSize().width / 2 + 10, numLabel->getPositionY()));
	timeTTF->setColor(ccWHITE);
	m_tRefreshTimeTTF = timeTTF;

	if (xunBaoCount == data->remainder_times)
	{
		timeTTF->setVisible(false);
		//haixuNumLabel->setPosition(ccp( mBg->getContentSize().width / 2 - 15, 44));
	}
	else
	{
		schedule(SEL_SCHEDULE(&TanSuoLayer::refreshTime),1.0f);
		//str = CCString::createWithFormat("()")
	}

	if (data->discovered_times >= MAX_TANSUOTIMES)
	{
		temp.initWithFormat(LFStrings::getValue("XunBaoYiJing_DianLiang_String").c_str());
		CCLabelTTF *yidianliangLabel = CCLabelTTF::create(temp.getCString(), fontStr_kaiti, m_nFontSize, CCSize(0,0), kCCTextAlignmentCenter);
		mBg->addChild(yidianliangLabel, 1, Tag_Label_YiDianLiang);
		//yidianliangLabel->setAnchorPoint(ccp(0,0.5));
		//yidianliangLabel->setPosition(ccp(370, 54));
		yidianliangLabel->setPosition(ccp( mBg->getContentSize().width / 2, 44));
		yidianliangLabel->setColor(fonColor_PuTong);
		m_tHaixuTTF = NULL;
		m_nHadCount = data->remainder_times;
	}
	else
	{
		CCString *str = CCString::createWithFormat("%s  %s",LFStrings::getValue("XunBaoHaixu_String").c_str(),LFStrings::getValue("XunBaoDianLiang_String").c_str());
		CCLabelTTF *haixuNumLabel1 = CCLabelTTF::create(str->getCString(), fontStr_kaiti, m_nFontSize, CCSize(0,0), kCCTextAlignmentCenter);
		mBg->addChild(haixuNumLabel1, 1,Tag_Label_ShengyuNum);
		//haixuNumLabel->setAnchorPoint(ccp(0,0.5));
		haixuNumLabel1->setPosition(ccp( mBg->getContentSize().width / 2, 44));
		haixuNumLabel1->setColor(fonColor_PuTong);

		CCLabelTTF *haixuNumLabel = CCLabelTTF::create(CCString::createWithFormat("%d",shengyuTimes)->getCString(), fontStr_kaiti, m_nFontSize, CCSize(0,0), kCCTextAlignmentCenter);
		mBg->addChild(haixuNumLabel, 1,Tag_Label_Haixu);
		//haixuNumLabel->setAnchorPoint(ccp(0,0.5));
		haixuNumLabel->setPosition(ccp(haixuNumLabel1->getPositionX() - haixuNumLabel1->getContentSize().width / 2 + m_nFontSize * 2 + haixuNumLabel->getContentSize().width / 2, haixuNumLabel1->getPositionY()));
		haixuNumLabel->setColor(ccWHITE);

		m_tHaixuTTF = haixuNumLabel;
		m_nHadCount = data->remainder_times;

		
		


		
		/*
		//还需
		temp.initWithFormat(LFStrings::getValue("XunBaoHaixu_String").c_str());
		CCLabelTTF *haixuNumLabel = CCLabelTTF::create(temp.getCString(), fontStr_kaiti, m_nFontSize, CCSize(0,0), kCCTextAlignmentCenter);
		mBg->addChild(haixuNumLabel, 1, Tag_Label_Haixu);
		//haixuNumLabel->setAnchorPoint(ccp(0,0.5));
		haixuNumLabel->setPosition(ccp( mBg->getContentSize().width / 2, 44));
		haixuNumLabel->setColor(fonColor_PuTong);

		//右边剩余次数
		temp.initWithFormat(" %d ", shengyuTimes);
		CCLabelTTF *rightnumLabel = CCLabelTTF::create(temp.getCString(), fontStr_BookAntiqua, m_nFontSize, CCSize(40,0), kCCTextAlignmentCenter);
		mBg->addChild(rightnumLabel, 1, Tag_Label_ShengyuNum);
		rightnumLabel->setColor(ccGREEN);

		if (shengyuTimes < 10)
		{
			rightnumLabel->setPosition(ccp(haixuNumLabel->getPositionX()+ 60, haixuNumLabel->getPositionY()));
		}
		else
		{
			rightnumLabel->setPosition(ccp(haixuNumLabel->getPositionX()+ 55, haixuNumLabel->getPositionY()));
		}
		
		//次点亮石碑
		temp.initWithFormat(LFStrings::getValue("XunBaoDianLiang_String").c_str());
		CCLabelTTF *shibeiLabel = CCLabelTTF::create(temp.getCString(), fontStr_kaiti, m_nFontSize, CCSize(0,0), kCCTextAlignmentLeft);
		mBg->addChild(shibeiLabel, 1, Tag_Label_DianLiang);
		shibeiLabel->setAnchorPoint(ccp(0,0.5));
		shibeiLabel->setPosition(ccp(haixuNumLabel->getPositionX()+ 80, haixuNumLabel->getPositionY()));
		shibeiLabel->setColor(fonColor_PuTong);*/
	}

	//恢复提示
	/*CCLabelTTF *tishiLabel = CCLabelTTF::create(LFStrings::getValue("XunBaoHuiFuTiShi").c_str(), fontStr_kaiti, m_nFontSize);
	mBg->addChild(tishiLabel);
	tishiLabel->setAnchorPoint(ccp(0, 0.5));
	tishiLabel->setColor(fonColor_CiYao);
	tishiLabel->setPosition(ccp(20, mBg->getContentSize().height-802));
	*/
	//fengyin
	{
		CCPoint pos[6] = {ccp(319,838-356), ccp(444,838-386), ccp(486,838-464)
		, ccp(319,838-534), ccp(152,838-464), ccp(194,838-386)};
		float scale[6] = {.6f, .75f, .9f, 1.0f, .9f, .75f};
		char buf[128];

		int i=0;
		mDestroyCount = data->destroy_seal;
		for (int count=mDestroyCount; i<count; ++i)
		{
			CCSprite *img = CCSprite::create("xunbao_fengyinshi.png");
			mBg->addChild(img, 10-(i-3)*(i-3), Tag_Img_FenYing + i);
			img->setScale(scale[i]);
			img->setPosition(pos[i]);
			sprintf(buf, "xunbao_fengyinshi_fuwen_%d.png", i+1);
			CCSprite *fwImg = CCSprite::create(buf);
			img->addChild(fwImg);
			fwImg->setPosition(ccp(img->getContentSize().width/2, img->getContentSize().height/2));
		}
		for (; i<6; ++i)
		{
			CCSprite *img = CCSprite::create("xunbao_fengyinshi.png");
			mBg->addChild(img, 10-(i-3)*(i-3), Tag_Img_FenYing + i);
			img->setScale(scale[i]);
			img->setPosition(pos[i]);
		}
		TanSuoManager *manager = TanSuoManager::getManager();
		if (manager->canJieFeng())
		{
			m_bIsJieFeng = true;
			m_nSelectProId = -1;
			mMainMenu->getChildByTag(Tag_MenuItem_JieFen)->setVisible(true);
		}
		else
		{
			mMainMenu->getChildByTag(Tag_MenuItem_JieFen)->setVisible(false);
		}
	}
}
Beispiel #10
0
bool Recipe15::init()
{
    if ( !CCLayerGradient::initWithColor(ccc4(170,145,25,255),ccc4(17,220,160,255),ccp(0.0f,1.0f)))
    {
        return false;
    }
    
    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();

    m_points = 0;
	m_actionType = 1;

	this->setTouchMode(kCCTouchesOneByOne);
	this->setTouchEnabled(true);

	CCSprite *player = CCSprite::create("monkey01.png");
	player->setTag(1);
	player->setPosition(ccp(player->getContentSize().height*3/2, visibleSize.width/2));
	player->setOpacity(210);
	this->addChild(player);

	this->schedule(schedule_selector(Recipe15::gameLogic),3.0);
	this->scheduleUpdate();

	CCMenuItemImage* pCloseItem = CCMenuItemImage::create(
		"button_close.png",
		"button_close_pressed.png",
		this,
		menu_selector(Recipe15::menuCloseCallback));
		
	pCloseItem->setPosition(ccp(
		visibleSize.width - pCloseItem->getContentSize().width/2,
		pCloseItem->getContentSize().height/2));

	//CCMenu* pMenu = CCMenu::create(pCloseItem,NULL);

	//pMenu->setPosition(CCPointZero);

//	this->addChild(pMenu);

	CCSprite* item1 = CCSprite::create("button_close.png");
	CCSprite* item2 = CCSprite::create("button_close.png");

	item2->setColor(ccc3(102,102,255));

	CCMenuItemSprite* pCloseItem2 = 
		CCMenuItemSprite::create(item1,item2,this,
		menu_selector(Recipe15::menuCloseCallback));
	
	pCloseItem2->setPosition(ccp(
		visibleSize.width -pCloseItem->getContentSize().width*3/2,
		pCloseItem->getContentSize().height/2));

	CCMenu* pMenu2 = CCMenu::create(pCloseItem,pCloseItem2,NULL);
	pMenu2->setPosition(CCPointZero);
	this->addChild(pMenu2);

	CCMenuItemImage* menuItemOff = CCMenuItemImage::create(
		"button_check_off.png",
		"button_check_off_pressed.png",NULL);
	
	CCMenuItemImage* menuItemOn = CCMenuItemImage::create(
		"button_check_on.png",
		"button_check_on_pressed.png",NULL);


	CCMenuItemToggle* toggleItem =
		CCMenuItemToggle::createWithTarget(this,menu_selector(Recipe15::changeMode),menuItemOff,menuItemOn,NULL);

	toggleItem->setPosition(ccp(
		toggleItem->getContentSize().width/2,
		visibleSize.height - toggleItem->getContentSize().height/2));

	CCMenu* toggleMenu = CCMenu::create(toggleItem,NULL);

	toggleMenu->setPosition(0,0);
	toggleMenu->setTag(3);

	this->addChild(toggleMenu);

	CCLabelTTF *scoreLabel = CCLabelTTF::create("SCORE","aria",48);
	scoreLabel->setPosition(ccp(visibleSize.width/2,visibleSize.height - scoreLabel->getContentSize().height/2));
	scoreLabel->setTag(10);
	this->addChild(scoreLabel);

	CCLabelTTF* pointsLabel = CCLabelTTF::create("0","arial",48);
	pointsLabel->setPosition(ccp(scoreLabel->getPositionX() + scoreLabel->getContentSize().width,
							visibleSize.height - pointsLabel->getContentSize().height/2));
	pointsLabel->setTag(11);
	this->addChild(pointsLabel);
		return true;
}
void SGAnnouncementLayer::initScrollView()
{
	//ResourceManager::sharedInstance()->bindTexture("sgannouncementlayer/sgannouncementlayer2.plist", RES_TYPE_LAYER_UI, sg_announcementLayer);
    m_scrollview->getContainer()->removeAllChildrenWithCleanup(true);
    int positionY = 0;// Y轴纵向偏移,
	int border_shift = 20;//内容窗口偏移
	
    int text_wid_expand = 40;//文本区宽度扩展
	if (CCEGLView::sharedOpenGLView()->getFrameSize().width == ipadResource.size.width
        ||CCEGLView::sharedOpenGLView()->getFrameSize().width == ipadhdResource.size.width)
	{
		text_wid_expand = 28;
	}
	
	//记录上一个内容窗口的底线位置
	float lastWindowBorderPos = 0.0f;
    for(int i = 0; i < m_arrayAnn->count(); i++)
	//for (int i = 0; i < 6; i++)
    {
		
		//=======================获取数据================================
		SGAnnouncementDataModel *ann = (SGAnnouncementDataModel *)m_arrayAnn->objectAtIndex(i);
		CCString *title = ann->getTitle();
		CCString *content = ann->getContent();

		int viewId = ann->getViewId();//跳转至哪个页面
		//=======================获取数据================================
		
        CCLayer *layer = (CCLayer*)m_scrollview->getContainer();//获取scrollview的容器

        CCLayerColor* contentWindow = initContentWindow(content, viewId > 0);
        contentWindow->setAnchorPoint(ccp(0.5, 0));
        contentWindow->ignoreAnchorPointForPosition(false);
        
        CCSize cwSize = contentWindow->getContentSize();
        
        CCSprite * sprite = CCSprite::createWithSpriteFrameName("Tips.png");
        sprite->setScaleX(cwSize.width / 584.0);
        sprite->setScaleY(cwSize.height / 522.0);
        sprite->setPosition(ccp(cwSize.width * 0.5, cwSize.height * 0.5));
        contentWindow->addChild(sprite, 2);
        
		//根据上一个内容窗口的位置计算下一个窗口的位置
		contentWindow->setPosition(ccp(layer->getContentSize().width * 0.5,
									   lastWindowBorderPos + border_shift));
		
        /* tips.png图片拉长的倍数 */
        float pngScale = cwSize.height / 522 ;
//        CCLOG("*******************>>>");
//        CCLOG("i = %d" , i);
//        CCLOG("title = %s" , title->getCString());
//        CCLOG("content = %s" , content->getCString());
//        CCLOG("pos: x=%f , y = %f" , contentWindow->getPositionX() , contentWindow->getPositionY());
//        CCLOG("cwSize: width=%f, height=%f", cwSize.width, cwSize.height);
//        CCLOG("lastWindowBorderPos = %f" , lastWindowBorderPos);
//        CCLOG("<<<********************");
        lastWindowBorderPos = contentWindow->getPositionY() + cwSize.height;

		//公告title
        CCLabelTTF *label = CCLabelTTF::create(title->getCString(), FONT_PANGWA, 35);
        label->setColor(COLOR_RED);
        label->setAnchorPoint(ccp(0.5 , 1));
		label->setPosition(ccp(cwSize.width *0.5f, cwSize.height - pngScale * 20));
		contentWindow->addChild(label, 100);
		//公告内容
//        CCSize maybeTextSize = stringInLabelRect(content->getCString());
//		CCLabelTTF *label_content=CCLabelTTF::create(content->getCString(), FONT_PENGYOU, 24,CCSizeMake(maybeTextSize.width + text_wid_expand * 4,maybeTextSize.height + text_hei_expand),kCCTextAlignmentLeft);
        CCLabelTTF *label_content=CCLabelTTF::create(content->getCString(), FONT_PENGYOU, 24,CCSizeMake(cwSize.width - 40 * widthFactor, cwSize.height - label->getContentSize().height),kCCTextAlignmentLeft);
		label_content->setAnchorPoint(ccp(0.5, 1));//内容顶线对齐
        label_content->setColor(ccBLACK);
		label_content->setPosition(ccp(label->getPositionX(), label->getPositionY() - label->getContentSize().height));
		label_content->setZOrder(102);
        contentWindow->addChild(label_content);
		
		//点击前往按钮
        if (viewId > 0) {
            SGButton *goButton = SGButton::create("box_btnbg.png", NULL, this, menu_selector(SGAnnouncementLayer::AnnounceButton),CCPointZero,false,true);
            
            CCString *go = CCString::createWithFormat(str_Hit_goto);
            SGCCLabelTTF *go_label = SGCCLabelTTF::create(go->getCString(), FONT_PANGWA, 30);
            
            goButton->addChild(go_label);
            goButton->setTag(viewId);//跳转到某个视图界面
            go_label->setPosition(ccp(goButton->getContentSize().width / 2, goButton->getContentSize().height / 2));
            
            //立即前往Button
            CCMenu *menu = CCMenu::create(goButton, NULL);
            menu->setTouchPriority(0);
            menu->setPosition(CCPointZero);
            goButton->setScale(0.7);
            goButton->setZOrder(200);
            //goButton->setPosition(ccp(label->getPositionX(), goButton->getContentSize().height / 1.5));
            goButton->setAnchorPoint(ccp(0.5, 0));
            goButton->setPosition(ccp(label->getPositionX(), pngScale * 18));
            menu->setZOrder(200);
            contentWindow->addChild(menu);
        }

		layer->addChild(contentWindow);
        //每次加对应的contentWindow的大小,为之后计算scrollview的内容体偏移
        positionY += (cwSize.height + border_shift);

    }
	//layer->setContentSize(CCSizeMake(504, m_scrollview->getContentSize().height));
	//控制是否可以滑动
	iscanmove = (positionY)>791?true:false;//@note:591是m_scrollview的可视区域高度
	

	m_scrollview->setContentOffset(ccp(0, -positionY + m_scrollview->getContentSize().height - 30));//20是顶部窗口的起始位置偏移,不减去会有一小部分遮挡
    m_scrollview->setContentSize(CCSizeMake(m_scrollview->getContentSize().width, positionY));//scrollview的真正大小
    m_scrollview->getContainer()->setContentSize(CCSizeMake(m_scrollview->getContentSize().width, positionY + 10));//滚动重置时的container位置
}
void ZhuangbeiXilianUI::onEnter()
{
	BaseLayer::onEnter();

	CCMenu *menu = CCMenu::create();
	menu->setAnchorPoint(CCPointZero);
	menu->setPosition(CCPointZero);
	addChild(menu);
	m_mMenu = menu;
	/*
	CCMenuItemImage *item = CCMenuItemImage::create("CloseNormal.png","CloseSelected.png",this,SEL_MenuHandler(&MainLayerUI::click));
	menu->addChild(item);
	item->setAnchorPoint(CCPointZero);
	item->setPosition(CCPointZero);
	*/
	{
		int max = 0;
		if (mEquipment->getEquipColor() == ZhuangbeiColour_Xiyou)
		{
			max = 23;
		}
		else if (mEquipment->getEquipColor() == ZhuangbeiColour_Chuanqi)
		{
			max = 50;
		}

		CCLabelTTF *titleTTF = CCLabelTTF::create();
		CCLabelTTF *ttf1 = CCLabelTTF::create(LFStrings::getValue("XilianFanwei").c_str(),fontStr_kaiti, 25.0f);
		ttf1->setColor(ccc3(195,145,96));
		ttf1->setPosition(ccp(ttf1->getContentSize().width / 2, ttf1->getContentSize().height / 2));
		//
		titleTTF->addChild(ttf1);

		CCLabelTTF *ttf2 = CCLabelTTF::create(CCString::createWithFormat(" %s1~%d%s%%",LFStrings::getValue("dakuohaoLeft").c_str(),max,LFStrings::getValue("dakuohaoRight").c_str())->getCString(),fontStr_kaiti, 25.0f);
		ttf2->setColor(ccc3(79,110,217));
		ttf2->setPosition(ccp(ttf2->getContentSize().width / 2 + ttf1->getContentSize().width, ttf2->getContentSize().height / 2));
		//ttf1->setPosition(ccp(this->getContentSize().width / 2,645));
		titleTTF->addChild(ttf2);
		titleTTF->setPosition(ccp(this->getContentSize().width / 2 - ( ttf1->getContentSize().width + ttf2->getContentSize().width ) / 2,655));
		addChild(titleTTF);
	}
	

	
	CCLabelTTF *nameTTF = CCLabelTTF::create(mEquipment->getName().c_str(),fontStr_kaiti, 30.0f);
	nameTTF->setPosition(POS_EqName);

	switch (mEquipment->getEquipColor())
	{
	case ZhuangbeiColour_Xiyou:
		{
			nameTTF->setColor(ccc3(253,180,40));
		}
		break;
	case ZhuangbeiColour_Chuanqi:
		{
			nameTTF->setColor(ccc3(181,93,6));
		}
		break;
	default:
		break;
	}
	
	m_sBackSpr->addChild(nameTTF);

	{
		CCMenuItemImage* closeItem = CCMenuItemImage::create(
			"close.png",
			"close_select.png",
			this,menu_selector(ZhuangbeiXilianUI::cilickClose)    
			);
		CCPoint pos = POS_EqName;
		closeItem->setPosition(ccp(m_sBackSpr->getContentSize().width - closeItem->getContentSize().width,pos.y));
		m_mMenu->addChild(closeItem);
	}
	

	CCSprite *shuomingSpr = CCSprite::create("zhuangbei_xiangxi_xilian_shuoming_1.png");

	shuomingSpr->setPosition(POS_ShuoMing);
	m_sBackSpr->addChild(shuomingSpr);

	bool isFirstIn = false;
	if (!History::getHistory()->getBoolFromCurrentHero(Key_First_LookXilianShuoming,isFirstIn))
	{
		History::getHistory()->putInCurrentHero(Key_First_LookXilianShuoming,false);
		CCPoint pos = shuomingSpr->getParent()->convertToWorldSpace(shuomingSpr->getPosition());
		GuideLayerBase *guideLayer = new GuideLayer_SimpleLayer;
		guideLayer->init(shuomingSpr->getContentSize(), pos
			, LFStrings::getValue("first_chuanqi_shuoming"), NULL, false);
		CCDirector::sharedDirector()->getRunningScene()->addChild(guideLayer, 1024);
	}

	CCMenuItemImage *item = CCMenuItemImage::create("zhuangbei_xiangxi_xilian.png","zhuangbei_xiangxi_xilian_select.png",this,SEL_MenuHandler(&ZhuangbeiXilianUI::clickXilian));
	menu->addChild(item);
	item->setPosition(ccp(POS_ShuoMing.x,50));

	CCMenuItemImage *shuomingItem = CCMenuItemImage::create("xuesejiaotang_anniu_shuoming.png","xuesejiaotang_anniu_shuoming_select.png",this,SEL_MenuHandler(&ZhuangbeiXilianUI::clickShuoming));
	menu->addChild(shuomingItem);
	shuomingItem->setPosition(ccp(shuomingItem->getContentSize().width / 2 + 10,POS_ShuoMing.y));

	vector<ZBAttr> data_list = mEquipment->getEquipData().purify_attr_vec;

	int max_count = CS::getPurifyMaxHoles(mEquipment->getEquipData().zhuangbei_type,mEquipment->getEquipColor(),mEquipment->getLevel());
	int count = data_list.size();

	CCSprite *layer = CCSprite::create("zhuangbei_xiangxi_xilian_shuxing_bg.png");
	layer->setPosition(ccp(POS_EqName.x,465));
	m_sBackSpr->addChild(layer);
	int atter_type_index[5] = {AttrType_baoshang,AttrType_hp_percent,AttrType_skillresult,mEquipment->getMainProType(),0};

	float side = 0;
	{
		CCSprite *bgSpr = CCSprite::create("zhuangbei_xiangxi_xilian_shuxing.png");

		side = (layer->getContentSize().height - bgSpr->getContentSize().height * 5 ) / 10.0f;
	}
	
	m_sShuxingShowSpr = layer;
	for(int i=0; i!= max_count; ++i)
	{
		ZhuangbeiXilianOption *option = ZhuangbeiXilianOption::create();
		option->setCallBack(this,SEL_CallFuncN(&ZhuangbeiXilianUI::clickSelect));
		if (i < count)
		{
			option->setValue(i,CS::getPurifyLevel(data_list[i].attr_value),data_list[i].attr_value,atter_type_index[i]);
			m_uOptionList.push_back(option);
		}
		else
		{
			option->setValue(i,-1,-1,-1);
		}
		layer->addChild(option);
		option->setPosition(ccp(layer->getContentSize().width / 2,layer->getContentSize().height - (i * 2 + 1) * ( side + option->getContentSize().height / 2)));
		
	}
	if (m_uOptionList.size() == 1)
	{
		for (vector<ZhuangbeiXilianOption *>::iterator iter = m_uOptionList.begin() ; iter != m_uOptionList.end() ; iter ++)
		{
			(*iter)->selectSelf();
		}
	}
	m_nTodayFreeCount = MyselfManager::getManager()->getRuntionData()->purify_free_times;
	if (m_nTodayFreeCount <= 0)
	{
		CCSprite *bgSpr = CCSprite::create("daoju_kuang_bg.png");
		bgSpr->setPosition(ccp(this->getContentSize().width / 2 + 2,185));
		m_sBackSpr->addChild(bgSpr);

		CCMenuItemImage *XilianJinghuaItem = CCMenuItemImage::create("daoju_youlanzhiye.png","daoju_youlanzhiye.png",this,SEL_MenuHandler(&ZhuangbeiXilianUI::clickXilianJingHua));
		XilianJinghuaItem->setPosition(ccp(this->getContentSize().width / 2,185));
		m_mMenu->addChild(XilianJinghuaItem);
		/*CCSprite *spr = CCSprite::create("daoju_youlanzhiye.png");
		spr->setPosition(ccp(this->getContentSize().width / 2,185));
		m_sBackSpr->addChild(spr);*/

		int haveCount =  WuPinManager::getManager()->getWuPin(ItemsType_Purify_Scroll)->getCount();
		int count = 1;

		CCLabelTTF *strTTF = CCLabelTTF::create(LFStrings::getValue("XilianJinghua").c_str(),fontStr_kaiti, 20.0f);
		strTTF->setPosition(ccp(bgSpr->getPositionX() - bgSpr->getContentSize().width / 2 + strTTF->getContentSize().width / 2 - 30,115));
		m_sBackSpr->addChild(strTTF);
		strTTF->setColor(ccc3(255,255,255));

		CCLabelTTF *xuTTF = CCLabelTTF::create(CCString::createWithFormat(" %d / ",count)->getCString(),fontStr_kaiti, 20.0f);
		xuTTF->setPosition(ccp(strTTF->getPositionX() + strTTF->getContentSize().width / 2 + xuTTF->getContentSize().width / 2,115));
		m_sBackSpr->addChild(xuTTF);
		xuTTF->setColor(ccc3(255,255,255));

		CCLabelTTF *countTTF = CCLabelTTF::create(CCString::createWithFormat("%d",haveCount)->getCString(),fontStr_kaiti, 20.0f);
		countTTF->setPosition(ccp(xuTTF->getPositionX() + xuTTF->getContentSize().width / 2 + countTTF->getContentSize().width / 2,115));
		m_sBackSpr->addChild(countTTF);
		if (haveCount <= 0)
		{
			countTTF->setColor(ccRED);
		}

		

		m_tXilianJinghuaCountTTF = countTTF; 
	}
	else
	{
		m_tXilianJinghuaTTF = CCLabelTTF::create(LFStrings::getValue("Free").c_str(),fontStr_kaiti, 30.0f);
		m_tXilianJinghuaTTF->setPosition(ccp(POS_EqName.x,172));
		m_sBackSpr->addChild(m_tXilianJinghuaTTF);
		m_tXilianJinghuaTTF->setColor(ccGREEN);
	}
	CCLabelTTF *countTTF = CCLabelTTF::create(CCString::createWithFormat("%s %u",LFStrings::getValue("todayFreeCount").c_str(),m_nTodayFreeCount)->getCString(),fontStr_kaiti, 20.0f);
	countTTF->setPosition(ccp(POS_EqName.x,252));
	m_sBackSpr->addChild(countTTF);
	countTTF->setColor(ccc3(255,255,255));

	m_tFreeCountsTTF = countTTF;

	m_lData_list = data_list;
}
void ZhuangbeiXilianUI::addShuxingShow(vector<ZBAttr> old_list,vector<ZBAttr> list)
{
	if (m_bIsRefreshXilian)
	{
		m_uOptionList.clear();
		m_sShuxingShowSpr->removeAllChildren();

		int old_count = old_list.size();
		int count = list.size();
		int atter_type_index[5] = {AttrType_baoshang,AttrType_hp_percent,AttrType_skillresult,mEquipment->getMainProType(),0};
		float side = 0;
		{
			CCSprite *bgSpr = CCSprite::create("zhuangbei_xiangxi_xilian_shuxing.png");

			side = (m_sShuxingShowSpr->getContentSize().height - bgSpr->getContentSize().height * 5 ) / 10.0f;
		}
		int max_count = CS::getPurifyMaxHoles(mEquipment->getEquipData().zhuangbei_type,mEquipment->getEquipColor(),mEquipment->getLevel());
		for(int i=0; i!= max_count; ++i)
		{
			ZhuangbeiXilianOption *option = ZhuangbeiXilianOption::create();
			option->setCallBack(this,SEL_CallFuncN(&ZhuangbeiXilianUI::clickSelect));
			if (i < count)
			{
				if ((i < old_count && ( ( CS::getPurifyLevel(list[i].attr_value) + 1 ) / 2 > ( CS::getPurifyLevel(old_list[i].attr_value) + 1 ) / 2 )))
				{
					option->setLevelSheng();
				}

				if ((i < old_count && ( list[i].attr_value > old_list[i].attr_value)))
				{
					option->setValueSheng();
				}
				option->setValue(i,CS::getPurifyLevel(list[i].attr_value),list[i].attr_value,atter_type_index[i]);
				m_uOptionList.push_back(option);
			}
			else
			{
				option->setValue(i,-1,-1,-1);
			}
			m_sShuxingShowSpr->addChild(option);
			option->setPosition(ccp(m_sShuxingShowSpr->getContentSize().width / 2,m_sShuxingShowSpr->getContentSize().height - (i * 2 + 1) * ( side + option->getContentSize().height / 2)));
			if (i >= old_count && i < count)
			{
				option->addNewShuxing();
			}

			if (i == ( m_nSelectIndex ))
			{
				option->selectSelf();
			}
		}
		m_bIsRefreshXilian = false;
	}
	m_nTodayFreeCount = MyselfManager::getManager()->getRuntionData()->purify_free_times;
	if (m_nTodayFreeCount <= 0)
	{
		if (m_tXilianJinghuaTTF)
		{
			m_tXilianJinghuaTTF->removeFromParent();
			m_tXilianJinghuaTTF = NULL;
		}
		if (m_tXilianJinghuaCountTTF)
		{
			int haveCount =  WuPinManager::getManager()->getWuPin(ItemsType_Purify_Scroll)->getCount();
			int count = 1;
			m_tXilianJinghuaCountTTF->setString(CCString::createWithFormat(" %d",haveCount)->getCString());

			if (haveCount <= 0)
			{
				m_tXilianJinghuaCountTTF->setColor(ccRED);
			}
		}
		else
		{
			CCSprite *bgSpr = CCSprite::create("daoju_kuang_bg.png");
			bgSpr->setPosition(ccp(this->getContentSize().width / 2 + 2,185));
			m_sBackSpr->addChild(bgSpr);

			CCMenuItemImage *XilianJinghuaItem = CCMenuItemImage::create("daoju_youlanzhiye.png","daoju_youlanzhiye.png",this,SEL_MenuHandler(&ZhuangbeiXilianUI::clickXilianJingHua));
			XilianJinghuaItem->setPosition(ccp(this->getContentSize().width / 2,185));
			m_mMenu->addChild(XilianJinghuaItem);

			/*CCSprite *spr = CCSprite::create("daoju_youlanzhiye.png");
			spr->setPosition(ccp(this->getContentSize().width / 2,185));
			m_sBackSpr->addChild(spr);*/

			int haveCount =  WuPinManager::getManager()->getWuPin(ItemsType_Purify_Scroll)->getCount();
			int count = 1;

			CCLabelTTF *strTTF = CCLabelTTF::create(LFStrings::getValue("XilianJinghua").c_str(),fontStr_kaiti, 20.0f);
			strTTF->setPosition(ccp(bgSpr->getPositionX() - bgSpr->getContentSize().width / 2 - 30 + strTTF->getContentSize().width / 2,115));
			m_sBackSpr->addChild(strTTF);
			strTTF->setColor(ccc3(255,255,255));


			CCLabelTTF *xuTTF = CCLabelTTF::create(CCString::createWithFormat(" %d / ",count)->getCString(),fontStr_kaiti, 20.0f);
			xuTTF->setPosition(ccp(strTTF->getPositionX() + strTTF->getContentSize().width / 2 + xuTTF->getContentSize().width / 2,115));
			m_sBackSpr->addChild(xuTTF);
			xuTTF->setColor(ccc3(255,255,255));
			

			CCLabelTTF *countTTF = CCLabelTTF::create(CCString::createWithFormat("%d",haveCount)->getCString(),fontStr_kaiti, 20.0f);
			countTTF->setPosition(ccp(xuTTF->getPositionX() + xuTTF->getContentSize().width / 2 + countTTF->getContentSize().width / 2,115));
			m_sBackSpr->addChild(countTTF);
			if (haveCount <= 0)
			{
				countTTF->setColor(ccRED);
			}

			m_tXilianJinghuaCountTTF = countTTF;
		}
	}
	

	if (m_tFreeCountsTTF)
	{
		m_tFreeCountsTTF->setString(CCString::createWithFormat("%s %u",LFStrings::getValue("todayFreeCount").c_str(),m_nTodayFreeCount)->getCString());
	}
	else
	{
		CCLabelTTF *countTTF = CCLabelTTF::create(CCString::createWithFormat("%s %u",LFStrings::getValue("todayFreeCount").c_str(),m_nTodayFreeCount)->getCString(),fontStr_kaiti, 20.0f);
		countTTF->setPosition(ccp(POS_EqName.x,252));
		m_sBackSpr->addChild(countTTF);
		countTTF->setColor(ccc3(255,255,255));
		m_tFreeCountsTTF = countTTF;
	}
	
}
Beispiel #14
0
BaseSprite* ImageManager::getSpriteOfZhuangbei(string equipKeyWords,ZhuangbeiColourExt color,unsigned holdNum,vector<ItemsType> diamonds,QianghuaData qinghua,unsigned int jingLianTime /* = 0 */)
{
	std::string pic_file = "minute_" + equipKeyWords + ".png";

	BaseSprite* sprite = BaseSprite::create(pic_file);

	BaseSprite* hole1 = BaseSprite::create();
	BaseSprite* hole2 = BaseSprite::create();
	BaseSprite* hole3 = BaseSprite::create();

	// 精炼
	{
		if (jingLianTime > 0)
		{
			//BaseSprite* icon = BaseSprite::create("gongjiang_jinglian_tubiao.png");
			BaseSprite* icon = BaseSprite::create();
			icon->setContentSize(CCSizeMake(20,50));
			char temp[16];
			sprintf(temp,"+%u",jingLianTime);
			CCLabelTTF* lableNum = CCLabelTTF::create(temp,fontStr_BookAntiqua,40,CCSizeMake(0,0),kCCTextAlignmentRight);
			lableNum->setAnchorPoint(ccp(1.0f,0.5f));

			//{
			//	ccColor3B lableColor;
			//	switch (color)
			//	{
			//	case ImageManager::ZhuangbeiColourExt_Baizhuang:
			//		//lableColor = get
			//		break;
			//	case ImageManager::ZhuangbeiColourExt_Fumo:
			//		break;
			//	case ImageManager::ZhuangbeiColourExt_Xiyou:
			//		break;
			//	case ImageManager::ZhuangbeiColourExt_Chuanqi:
			//		break;
			//	case ImageManager::ZhuangbeiColourExt_ChuanQiTaoZhuang:
			//		break;
			//	case ImageManager::ZhuangbeiColourExt_ShengBing:
			//		break;
			//	case ImageManager::ZhuangbeiColourExt_ShengBingTaoZhuang:
			//		break;
			//	default:
			//		break;
			//	}
			//	lableNum->setColor(lableColor);
			//}

			
			sprite->addChild(lableNum);
			sprite->addChild(icon);
			icon->setPositionY(sprite->getContentSize().height - icon->getContentSize().height/2);
			lableNum->setPosition(ccp(sprite->getContentSize().width - lableNum->getContentSize().width/2,icon->getPositionY()));
			icon->setPositionX(lableNum->getPositionX() - lableNum->getContentSize().width/2 - icon->getContentSize().width/2);
		}
	}

	// 强化
	{

		//sort
		for(int i=0; i<qinghua.qianghua_count; ++i)
		{
			for(int j=i; j<qinghua.qianghua_count; ++j)
			{
				if(  (qinghua.info_arr[i].level < qinghua.info_arr[j].level)   
					|| (qinghua.info_arr[i].level == qinghua.info_arr[j].level && 
					qinghua.info_arr[i].percent < qinghua.info_arr[j].percent)  )
				{
					swap(qinghua.info_arr[i], qinghua.info_arr[j]);
				}
			}
		}

		//float scale = 0.32f/(124/297.0f);
		float scale = 0.3f/(124/297.0f);
		BaseSprite* temp = BaseSprite::create("gongjiang_qianghua_jieguo_jin.png");
		float posX = temp->getContentSize().width/2 * scale;
		float posY = temp->getContentSize().height/2;

		for (int i=0;i<qinghua.max_qianghua_time;i++)
		{
			BaseSprite* imageStar = NULL;
			if (i < qinghua.qianghua_count)
			{
				switch (qinghua.info_arr[i].level)
				{
				case 4:
				case QianghuaLevel_jin_special:
					imageStar = BaseSprite::create("gongjiang_qianghua_jieguo_jin.png");
					break;
				case 3:
					imageStar = BaseSprite::create("gongjiang_qianghua_jieguo_yin.png");
					break;
				case 2:
					imageStar = BaseSprite::create("gongjiang_qianghua_jieguo_tong.png");
					break;
				case 1:
					imageStar = BaseSprite::create("gongjiang_qianghua_jieguo_tie.png");
					break;
				default:
					CCLog("Error : %s --> qiangjhua_level = %d",__FUNCTION__,qinghua.info_arr[i].level);
					imageStar = BaseSprite::create("gongjiang_qianghua_jieguo_tie.png");
					CCAssert(false,"未知的level");
				}
			}
			else
			{
				imageStar = BaseSprite::create("gongjiang_qianghua_jieguo_kong.png");
			}


			sprite->addChild(imageStar);
			imageStar->setPosition(ccp(posX,posY));
			imageStar->setScale(scale);
			posX += temp->getContentSize().width * imageStar->getScaleX() - 8;
		}
	}

	if(holdNum == 1)
	{
		hole1 = BaseSprite::create("zhuangbei_kong.png");
		sprite->addChild(hole1);
		hole1->setPosition(ccp(sprite->getContentSize().width/2, sprite->getContentSize().height/2));
	}
	else if(holdNum == 2)
	{
		hole1 = BaseSprite::create("zhuangbei_kong.png");
		sprite->addChild(hole1);
		hole1->setPosition(ccp(sprite->getContentSize().width/2, sprite->getContentSize().height*3.3f/5));

		hole2 = BaseSprite::create("zhuangbei_kong.png");
		sprite->addChild(hole2);
		hole2->setPosition(ccp(sprite->getContentSize().width/2, sprite->getContentSize().height*1.7f/5));
	}
	else if(holdNum == 3)
	{
		hole1 = BaseSprite::create("zhuangbei_kong.png");
		sprite->addChild(hole1);
		hole1->setPosition(ccp(sprite->getContentSize().width/2, sprite->getContentSize().height*3.5f/5));

		hole2 = BaseSprite::create("zhuangbei_kong.png");
		sprite->addChild(hole2);
		hole2->setPosition(ccp(sprite->getContentSize().width/2, sprite->getContentSize().height* 1.0f/2.0f));

		hole3 = BaseSprite::create("zhuangbei_kong.png");
		sprite->addChild(hole3);
		hole3->setPosition(ccp(sprite->getContentSize().width/2, sprite->getContentSize().height*1.5f/5));
	}

	hole1->setScale(0.7f);
	hole2->setScale(0.7f);
	hole3->setScale(0.7f);

	if(diamonds.size() == 1)
	{
		if(hole1 != NULL)
		{
			BaseSprite* baoshi = BaseSprite::create(getBaoshiFilename(diamonds[0]));
			hole1->addChild(baoshi);
			baoshi->setPosition(ccp(hole1->getContentSize().width/2, hole1->getContentSize().height/2));
		}
	}
	else if(diamonds.size() == 2)
	{
		if(hole1 != NULL)
		{
			BaseSprite* baoshi = BaseSprite::create(getBaoshiFilename(diamonds[0]));
			hole1->addChild(baoshi);
			baoshi->setPosition(ccp(hole1->getContentSize().width/2, hole1->getContentSize().height/2));
		}
		if(hole2 != NULL)
		{
			BaseSprite* baoshi = BaseSprite::create(getBaoshiFilename(diamonds[1]));
			hole2->addChild(baoshi);
			baoshi->setPosition(ccp(hole2->getContentSize().width/2, hole2->getContentSize().height/2));
		}
	}
	else if(diamonds.size() == 3)
	{
		if(hole1 != NULL)
		{
			BaseSprite* baoshi = BaseSprite::create(getBaoshiFilename(diamonds[0]));
			hole1->addChild(baoshi);
			baoshi->setPosition(ccp(hole1->getContentSize().width/2, hole1->getContentSize().height/2));
		}
		if(hole2 != NULL)
		{
			BaseSprite* baoshi = BaseSprite::create(getBaoshiFilename(diamonds[1]));
			hole2->addChild(baoshi);
			baoshi->setPosition(ccp(hole2->getContentSize().width/2, hole2->getContentSize().height/2));
		}
		if(hole3 != NULL)
		{
			BaseSprite* baoshi = BaseSprite::create(getBaoshiFilename(diamonds[2]));
			hole3->addChild(baoshi);
			baoshi->setPosition(ccp(hole3->getContentSize().width/2, hole3->getContentSize().height/2));
		}
	}

	return sprite;
}
Beispiel #15
0
void BaseScene::buildHeader(int highlightIndex, const char* title, const char* description)
{
    _currentMenuIndex = highlightIndex;
    
    CCMenuItemImage* homeButton = CCMenuItemImage::create();
    homeButton->setNormalSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_home_nrl"));
    homeButton->setSelectedSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_home_prd"));
    homeButton->setDisabledSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_home_prd"));
    homeButton->setTarget(this, menu_selector(BaseScene::loadHomeScene));
    homeButton->setAnchorPoint(ccp(1.0f, 1.0f));
    
    CCMenuItemImage* fbActionButton = CCMenuItemImage::create();
    fbActionButton->setNormalSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_fb_action_nrl"));
    fbActionButton->setSelectedSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_fb_action_prd"));
    fbActionButton->setDisabledSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_fb_action_dis"));
    fbActionButton->setTarget(this, menu_selector(BaseScene::loadFBActionScene));
    fbActionButton->setAnchorPoint(ccp(1.0f, 1.0f));
    
    if (EziSocialObject::sharedObject()->isFacebookSessionActive() == false)
    {
        fbActionButton->setEnabled(false);
    }
    
    CCMenuItemImage* helpButton = CCMenuItemImage::create();
    helpButton->setNormalSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_help_nrl"));
    helpButton->setSelectedSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_help_prd"));
    helpButton->setDisabledSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_help_prd"));
    helpButton->setTarget(this, menu_selector(BaseScene::loadHelpScene));
    
    helpButton->setAnchorPoint(ccp(1.0f, 1.0f));
    
    switch (highlightIndex)
    {
        case 0:
            homeButton->setEnabled(false);
            break;
            
        case 1:
            fbActionButton->setEnabled(false);
            break;
            
        case 2:
            helpButton->setEnabled(false);
            break;
            
        default:
            break;
    }
    
    
    CCMenu* homeMenu = CCMenu::create(homeButton, fbActionButton, helpButton, NULL);
    homeMenu->alignItemsHorizontally();
    
    this->addChild(homeMenu);
    PlaceNode(homeMenu, 0.88, 0.98);
    
    // Add a line.
    CCLayerColor* lineLayer = CCLayerColor::create(ccc4(204, 204, 204, 204),
                                                   CCDirector::sharedDirector()->getVisibleSize().width,
                                                   1.0 * AppDelegate::SCREEN_SCALE_FACTOR);
    
    this->addChild(lineLayer);
    PlaceNode(lineLayer, 0.0, 0.8);
    lineLayer->setPositionY(homeMenu->getPositionY() - homeButton->getContentSize().height - (7 * AppDelegate::SCREEN_SCALE_FACTOR));
    
    // Add Title
    CCLabelTTF* titleLabel = CCLabelTTF::create(title, "Arial", 50.0 * AppDelegate::SCREEN_SCALE_FACTOR);
    this->addChild(titleLabel);
    titleLabel->setAnchorPoint(ccp(0.0f, 0.0f));
    //PlaceNode(titleLabel, 0.02, 0.98);
    
    CCLabelTTF* descriptionLabel = CCLabelTTF::create(description,
                                                      "Arial", SCALED_VALUE(22.0f));
    this->addChild(descriptionLabel);
    descriptionLabel->setAnchorPoint(ccp(0.0f, 0.0f));
    PlaceNode(descriptionLabel, 0.02, 0.98);
    descriptionLabel->setPositionY(homeMenu->getPositionY() - homeButton->getContentSize().height);
    descriptionLabel->setColor(ccc3(204, 204, 204));
    
    titleLabel->cocos2d::CCNode::setPosition(descriptionLabel->getPositionX(),
                                             descriptionLabel->getPositionY() + descriptionLabel->getContentSize().height - 2.0f);
    
}
void MailInfoListLayer::setSystemMail(Email mail)
{
	
	//CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,-132,true);
	ListMenu *menu = ListMenu::create();
	menu->setPosition(CCPointZero);
	menu->setAnchorPoint(CCPointZero);
	menu->setContentSize(this->getContentSize());
	addChild(menu);
	m_mMenu = menu;
	//m_mMenu->runAction(CCCallFuncND::create(this, callfuncND_selector(MailInfoListLayer::changeMenuPriority_callfuncND), (void*)(-133)));
	m_eEmail = mail;
	sortMail(mail);
	int count = 0;
	int height = m_nHeight;
	int width = count * 100;
	m_nWidth = width;
	count = 0;
	int side = 50;
	int bWidth = 0;

	int _width = 0;

	int pos_x = 0;
	for (map<string,string>::iterator iter = m_lThingsList.begin(); iter != m_lThingsList.end() ; iter ++)
	{
		CCSprite *cailiaoSpr = CCSprite::create("daoju_kuang_bg.png");
		cailiaoSpr->setScale(0.7f);
		bWidth = cailiaoSpr->getContentSize().width * cailiaoSpr->getScaleX();
		cailiaoSpr->setPosition(ccp(count * bWidth + ( side * ( count * 2 + 1 ) ) + bWidth / 2 ,height - cailiaoSpr->getContentSize().height * cailiaoSpr->getScaleY() / 2 - 5));
		addChild(cailiaoSpr);

		CCSprite *daojuSpr = CCSprite::create(iter->first.c_str());
		daojuSpr->setScale(0.7f);
		bWidth = daojuSpr->getContentSize().width * cailiaoSpr->getScaleX();
		daojuSpr->setPosition(ccp(cailiaoSpr->getContentSize().width / 2, cailiaoSpr->getContentSize().height / 2));
		cailiaoSpr->addChild(daojuSpr);

		CCLabelTTF *nameTTF = CCLabelTTF::create(iter->second.c_str(),fontStr_kaiti,25.0f);
		nameTTF->setPosition(ccp(cailiaoSpr->getPositionX(),nameTTF->getContentSize().height / 2 + 5));
		addChild(nameTTF);
		nameTTF->setColor(ccWHITE);

		_width += cailiaoSpr->getPositionX() - pos_x;
		pos_x = cailiaoSpr->getPositionX();
		count ++;
	}
	_width += bWidth / 2 + side;
	for (vector<Flat_DuanzaoGroupZBInfo>::iterator iter = mail.equipVec.begin(); iter != mail.equipVec.end() ; iter ++)
	{
		
		CCLabelTTF *nameTTF = CCLabelTTF::create(iter->zhuangbei_name.c_str(),fontStr_kaiti,25.0f);
		nameTTF->setPosition(ccp(count * bWidth + ( side * ( count * 2 + 1 ) ) + bWidth / 2 + nameTTF->getContentSize().height / 2 ,nameTTF->getContentSize().height / 2 + 20));
		addChild(nameTTF);
		nameTTF->setColor(ccWHITE);


		//string nameTemp = CS::getItemName(iter->zb_group_id) + LFStrings::getValue("zhi") + LFStrings::getValue("suipian") + getStrByInt(iter->suipian_id);
		string equipfile = iter->zhuangbei_pic;
		equipfile = "minute_" + equipfile + ".png";
		m_lThingsList.insert(map<string,string>::value_type(equipfile,iter->zhuangbei_name));

		string diwenStr = ImageManager::getManager()->getImageData_DiWen_WithBianKuang(iter->zhuangbei_colour);
		CCMenuItemImage *eqDiwenImg = CCMenuItemImage::create(diwenStr.c_str(), diwenStr.c_str(), this,
			menu_selector(MailInfoListLayer::menuItemClicked_Equip));
		m_mMenu->addChild(eqDiwenImg);
		eqDiwenImg->setTag(iter->zb_group_id);
		eqDiwenImg->setScale(0.8f);
		bWidth = eqDiwenImg->getContentSize().width * eqDiwenImg->getScaleX();
		eqDiwenImg->setPosition(ccp( nameTTF->getPositionX(),nameTTF->getPositionY() + nameTTF->getContentSize().height / 2 + eqDiwenImg->getContentSize().height / 2 + 5));
		
		CCSprite *daojuSpr = CCSprite::create(equipfile.c_str());
		daojuSpr->setScale(0.24f);
		bWidth = daojuSpr->getContentSize().width * eqDiwenImg->getScaleX();
		daojuSpr->setPosition(ccp(eqDiwenImg->getContentSize().width / 2, eqDiwenImg->getContentSize().height / 2));
		eqDiwenImg->addChild(daojuSpr);
		/*CCSprite *cailiaoSpr = CCSprite::create("daoju_kuang_bg.png");
		cailiaoSpr->setScale(0.7f);
		bWidth = cailiaoSpr->getContentSize().width * cailiaoSpr->getScaleX();
		cailiaoSpr->setPosition(ccp(count * bWidth + ( side * ( count * 2 + 1 ) ) + bWidth / 2 ,height - cailiaoSpr->getContentSize().height * cailiaoSpr->getScaleY() / 2 - 5));
		addChild(cailiaoSpr);*/

		

		_width += eqDiwenImg->getPositionX() - pos_x;
		pos_x = eqDiwenImg->getPositionX();
		count ++;
	}
	_width += bWidth / 2 + side;
	m_nWidth = _width;
	this->setContentSize(CCSizeMake(m_nWidth,m_nHeight));
}