Exemplo n.º 1
0
void CMainCityUI::imageLoadSuccessCallBack(string sTag, vector<char>* pBuffer)
{
	CCImage* img = new CCImage;
	img->initWithImageData((unsigned char*)pBuffer->data(), pBuffer->size());
	CCTexture2D* texture = new CCTexture2D();
    texture->initWithImage(img);
	CLayout* headPart = (CLayout*)m_ui->findWidgetById("head_part");

	CCSprite* head = (CCSprite*)headPart->getChildByTag(15);
//	head->removeFromParent();
	//head->setTexture(texture);

	string path = HttpLoadImage::getInstance()->getStoragePath("download/fbImg",sTag.c_str())+".jpg";
	string buff(pBuffer->begin(), pBuffer->end());
	CCLOG("path: %s", path.c_str());
	FILE *fp = fopen(path.c_str(), "wb+");
	fwrite(buff.c_str(), 1, pBuffer->size(),  fp);
	fclose(fp);

//	CCSprite *headbg = (CCSprite*)(m_ui->findWidgetById("headbg"));
// 	CCClippingNode *clip = CCClippingNode::create();	
// 	CCSprite *fbimg = CCSprite::createWithTexture(texture);
// 	clip->addChild(fbimg);
// 
// 	clip->setPosition(headbg->getPosition());
// 	clip->setContentSize(CCSizeMake(110,110));
// 
// 	static ccColor4F red ={1,0,1};
// 	float radius = 106;
// 	const int nCount = 200;
// 	const float angle = 2.0f* (float)M_PI/nCount;
// 	CCPoint circle[nCount];
// 	for(int i=0; i<nCount; i++)
// 	{
// 		float radian = i*angle;
// 		circle[i].x = radius * cosf(radian);
// 		circle[i].y = radius * sinf(radian); 
// 	}
// 	CCDrawNode *stencil= CCDrawNode::create();
// 	stencil->drawPolygon(circle,nCount,red,0,red);
// 	clip->setStencil(stencil);	
// 	m_ui->addChild(clip);
	CCSprite *headBg = (CCSprite *)(headPart->findWidgetById("headbg"));
	CCSprite *headSpr = MakeFaceBookHeadToCircle(CCSprite::createWithTexture(texture));
	headSpr->setTag(15);
	headSpr->setPosition(headBg->getPosition());
	headPart->addChild(headSpr);
	head->removeFromParent();
	img->release();
}
Exemplo n.º 2
0
void CMainCityUI::updateRoleProperty(const TMessage& tMsg)
{
	UserData *user = DataCenter::sharedData()->getUser()->getUserData();

	CLayout* headPart = (CLayout*)m_ui->findWidgetById("head_part");

	CLabel *nameLabel = (CLabel*)headPart->getChildByTag(10);
	nameLabel->setString(user->getRoleName().c_str());

	CLabel *level = (CLabel*)(headPart->findWidgetById("level"));
	level->setString(CCString::createWithFormat("Lv%d",user->getLevel())->getCString());

	CLabelAtlas *vip = (CLabelAtlas*)(headPart->findWidgetById("level_vip"));
	vip->setString(ToString(user->getVip()));

	if (user->getVip()==0)
	{
		vip->setVisible(false);
		CLabelAtlas *vip_font = (CLabelAtlas*)(headPart->findWidgetById("vip_font"));
		vip_font->setVisible(false);
	}

	CCSprite* head = (CCSprite*)headPart->getChildByTag(15);
	if (user->getThumb()>0)
	{
// 		CCTexture2D *texture = CCTextureCache::sharedTextureCache()
// 		->addImage(CCString::createWithFormat("headIcon/%d.png", user->getThumb())->getCString());
// 		if (texture)
// 		{
// 			head->setTexture(texture);
// 		}
// 		head->setFlipY(false);
		CCSprite *headBg = (CCSprite *)(headPart->findWidgetById("headbg"));
		CCString *strnName = CCString::createWithFormat("headIcon/%d.png", user->getThumb());
		CCSprite *sp = CCSprite::create(strnName->getCString());
		sp->setPosition(ccpAdd(headBg->getPosition(),ccp(0,10)));
		sp->setScale(0.75f);
		headPart->removeChild(head);
		sp->setTag(15);
		headPart->addChild(sp);
	}
	else
	{
		string fbName = user->getFbId()+".jpg";
		string fullName = CCFileUtils::sharedFileUtils()->fullPathForFilename(fbName.c_str());
		bool isFileExist = CCFileUtils::sharedFileUtils()->isFileExist(fullName);
		if(isFileExist)
		{
			CCSprite *headBg = (CCSprite *)(headPart->findWidgetById("headbg"));
			CCSprite *sp = CCSprite::create(fullName.c_str());
			CCSprite* spr = MakeFaceBookHeadToCircle(sp);
			spr->setPosition(headBg->getPosition());
			headPart->removeChild(head);
			spr->setTag(15);
			headPart->addChild(spr);
		}
		else
		{
			HttpLoadImage::getInstance()->bindUiTarget(this);
			CCString *imgUrl = CCString::createWithFormat(FACEBOOKIMG_106,user->getFbId().c_str());
			HttpLoadImage::getInstance()->requestUrlImage(imgUrl->getCString(),user->getFbId().c_str());
		}
	}
	
	CProgressBar *progressBar = (CProgressBar*)(headPart->getChildByTag(11));
	progressBar->setMaxValue(user->getNextExp());
	progressBar->startProgress(user->getExp(),0.3f);
}
Exemplo n.º 3
0
void CMainCityUI::onEnter()
{
	BaseLayer::onEnter();

	UserData *user = DataCenter::sharedData()->getUser()->getUserData();
	
	//角色信息相对位置处理
	CLayout* headPart = (CLayout*)m_ui->findWidgetById("head_part");
	headPart->setPosition(m_ui->convertToNodeSpace(ccp(VLEFT+headPart->getContentSize().width/2, VTOP-headPart->getContentSize().height/2)));

	//显示角色名,等级,体力,金币
	CLabel *nameLabel = (CLabel*)headPart->getChildByTag(10);
	nameLabel->setString(user->getRoleName().c_str());
	nameLabel->setColor(RGB_ROLE_COLOR);	
	
	CLabel *level = (CLabel*)(headPart->findWidgetById("level"));
	level->setString(CCString::createWithFormat("Lv%d",user->getLevel())->getCString());
	
	CProgressBar *progressBar = (CProgressBar*)(headPart->getChildByTag(11));
	progressBar->setMaxValue(user->getNextExp());
	progressBar->startProgress(user->getExp(),0.3f);

	CLabelAtlas *vip_level = (CLabelAtlas*)(headPart->findWidgetById("level_vip"));
	vip_level->setString(ToString(user->getVip()));
	if (user->getVip()==0)
	{
		vip_level->setVisible(false);
		CLabelAtlas *vip_font = (CLabelAtlas*)(headPart->findWidgetById("vip_font"));
		vip_font->setVisible(false);
	}

	CImageView *headbg = (CImageView *)(headPart->findWidgetById("headbg"));
	headbg->setTouchEnabled(true);
	headbg->setOnClickListener(this, ccw_click_selector(CMainCityUI::onHeadImgBtn));

	CButton *button = nullptr;
	int i = 1;
	for (; i<=9; ++i)
	{
		CCNode *lay = dynamic_cast<CCNode*>( m_ui->getChildByTag(i));
		button = dynamic_cast<CButton*>(lay->getChildByTag(i));
// 			button->setEnabled(false);
		button->setOnClickListener(this, ccw_click_selector(CMainCityUI::onClickBtn));
		button->setSelectedTexture(((CCSprite*)(button->getNormalImage()))->getTexture());
		button->getSelectedImage()->setScale(1.1f);
		m_btnPos[i] = button->getPosition();
	}

	CCSprite* head = (CCSprite*)headPart->getChildByTag(15);

	if (user->getThumb()>0)
	{
		CCTexture2D *texture = CCTextureCache::sharedTextureCache()
		->addImage(CCString::createWithFormat("headIcon/%d.png", user->getThumb())->getCString());
		if (texture)
		{
			head->setTexture(texture);
		}
	}
	else
	{
		string fbName = user->getFbId()+".jpg";
		string fullName = CCFileUtils::sharedFileUtils()->fullPathForFilename(fbName.c_str());
		bool isFileExist = CCFileUtils::sharedFileUtils()->isFileExist(fullName);
		if(isFileExist)
		{
			CCSprite *headBg = (CCSprite *)(headPart->findWidgetById("headbg"));
			CCSprite *sp = CCSprite::create(fbName.c_str());
			CCSprite* spr = MakeFaceBookHeadToCircle(sp);
			spr->setPosition(headBg->getPosition());
			headPart->removeChild(head);
		    spr->setTag(15);
			headPart->addChild(spr);
		}
		else
		{
			HttpLoadImage::getInstance()->bindUiTarget(this);
			CCString *imgUrl = CCString::createWithFormat(FACEBOOKIMG_106,user->getFbId().c_str());
			HttpLoadImage::getInstance()->requestUrlImage(imgUrl->getCString(),user->getFbId().c_str());
		}
	}

	CImageView* vip = (CImageView*)headPart->findWidgetById("vip");
	vip->setTouchEnabled(true);
	vip->setOnClickListener(this,ccw_click_selector(CMainCityUI::onVip));

	//添加签到,充值等其他入口
	CAccessLayer* pAccess = CAccessLayer::create();
	this->addChild(pAccess, 99);

	CSceneManager::sharedSceneManager()->addMsgObserver(UPDATE_HERO,this,GameMsghandler_selector(CMainCityUI::updateRoleProperty));
	CSceneManager::sharedSceneManager()->addMsgObserver(TASK_NOTICE,this,GameMsghandler_selector(CMainCityUI::updateTaskNotice));
	CSceneManager::sharedSceneManager()->addMsgObserver(MAIL_NOTICE,this,GameMsghandler_selector(CMainCityUI::updateMailNotice));
	CSceneManager::sharedSceneManager()->addMsgObserver(UPDATE_FUNCTIONOPEN,this,GameMsghandler_selector(CMainCityUI::updateFuctionOpen));
	CSceneManager::sharedSceneManager()->addMsgObserver(UPDATE_GAMETIP,this,GameMsghandler_selector(CMainCityUI::updateGameTip));
	CSceneManager::sharedSceneManager()->addMsgObserver(SHOW_HEAD,this,GameMsghandler_selector(CMainCityUI::showHead));

	CCSprite *red = (CCSprite*)(m_ui->findWidgetById("redPoint"));

	CCSprite *mailPoint = (CCSprite*)(m_ui->findWidgetById("mailPoint"));

	if (user->getRoleAction()<user->getActionLimit())
	{
		this->schedule(schedule_selector(CMainCityUI::updateActionTime),user->getInterval()*60);
	}
    GetTcpNet->registerMsgHandler(FriendReqNumMsg,this,CMsgHandler_selector(CMainCityUI::processNetMsg));
	GetTcpNet->registerMsgHandler(CBExchangeMsg,this,CMsgHandler_selector(CMainCityUI::exchangeMsg));

	//正在引导,不自动弹窗
	if(user->getNewStep()==2||user->getNewStep()==17/*CGuideManager::getInstance()->getIsRunGuide()*/)
	{
		DataCenter::sharedData()->setCityActionType(CA_None);
	}
	else if(user->getNewStep()<=0 || user->getNewStep()>=100)
	{
		//自动弹签到
		runAction(CCSequence::createWithTwoActions(CCDelayTime::create(0.7f), CCCallFunc::create(this, callfunc_selector(CMainCityUI::autoShowSign))));
	}

	switch (DataCenter::sharedData()->getCityActionType())
	{
	case CA_Levelup:
		{
			CButton *btn = (CButton*)m_ui->getChildByTag(HeroInfo_Btn);
			btn->runAction(CCSequence::create(CCDelayTime::create(0.6f),
				CCCallFuncN::create(this, callfuncN_selector(CMainCityUI::onTimeWaitCityAction)),
				NULL));
			DataCenter::sharedData()->setCityActionType(CA_None);
		}
		break;
	case CA_GoToChapater:
		{
			CButton *btn = (CButton*)m_ui->getChildByTag(Battle_Btn);
			btn->runAction(CCSequence::create(CCDelayTime::create(0.2f),
				CCCallFuncN::create(this, callfuncN_selector(CMainCityUI::onTimeWaitCityAction)),
				NULL));
			m_bShowChapterFlag = true;
			DataCenter::sharedData()->setCityActionType(CA_None);
		}
		break;
	case CA_GoToStage:
		{
			this->runAction(CCSequence::create(CCDelayTime::create(0.8f),
				CCCallFunc::create(this, callfunc_selector(CMainCityUI::runTollgatepreviewCallBack)),
				NULL));
			DataCenter::sharedData()->setCityActionType(CA_None);
		}break;
	default:
		break;
	}

	//绑定场景隐藏和显示的消息
	NOTIFICATION->addObserver(this, callfuncO_selector(CMainCityUI::show), SHOW_MAIN_SCENE, nullptr);
	NOTIFICATION->addObserver(this, callfuncO_selector(CMainCityUI::hide), HIDE_MAIN_SCENE, nullptr);
	NOTIFICATION->addObserver(this, callfuncO_selector(CMainCityUI::checkShowActivity), "CheckShowActivity", nullptr);


	CCNode *lay = dynamic_cast<CCNode*>( m_ui->getChildByTag(6));
	button = dynamic_cast<CButton*>(lay->getChildByTag(6));
	CCAnimation *batAnim = AnimationManager::sharedAction()->getAnimation("9015");
	batAnim->setDelayPerUnit(0.1f);
	CCSprite *batLight = createAnimationSprite("skill/9015.png",button->getPosition(),batAnim,true);
	batLight->setScale(1.4f);
	m_ui->addChild(batLight);

	showNoticeTip(CTaskControl::getInstance()->getGameTips());
// 	CCSprite *spr = CCSprite::create("headImg/506.png");
// 	spr->setScale(1.2f);
// 	CCSprite *sp = maskedSprite(spr);
// 	CCSprite *headBg = (CCSprite *)(headPart->findWidgetById("headbg"));
// 	sp->setPosition(headBg->getPosition());
// 	headPart->addChild(sp);

	//在线礼包
	int iNexTime = user->getOnlinePrizeTime();
	if (iNexTime!=-1)
	{
		if (m_pTimeGift==nullptr)
		{
			m_pTimeGift = CTimeGift::create();
			m_pTimeGift->setTouchPriority(-3);
			this->addChild(m_pTimeGift, 2);
		}
		m_pTimeGift->setTime(iNexTime);
	}

}
Exemplo n.º 4
-1
void CHeroEvolveEffectLayer::updateData( )
{
	//面板数据
	int iValue[][2] = { 
		{m_pBaseHero->combat, m_pAimHero->combat}, 
		{m_pBaseHero->hp, m_pAimHero->hp}, 
		{m_pBaseHero->atk, m_pAimHero->atk}, 
		{m_pBaseHero->def, m_pAimHero->def},
		{m_pBaseHero->dex, m_pAimHero->dex}, 
		{m_pBaseHero->hit, m_pAimHero->hit}, 
		{m_pBaseHero->crit, m_pAimHero->crit}, 
		{m_pBaseHero->dodge, m_pAimHero->dodge},
		{m_pBaseHero->renew, m_pAimHero->renew}
	};

	//更新数据
	for(int i=0; i<9; i++)
	{
		CLayout *pLay = (CLayout *)m_pUI->findWidgetById(CCString::createWithFormat("data%d", i+1)->getCString());
		pLay->setVisible(false);
		CLabel *pBaseValue = (CLabel *)pLay->findWidgetById(CCString::createWithFormat("base_value%d", i+1)->getCString());
		pBaseValue->setString(ToString(iValue[i][0]));
		CLabel *pAimValue = (CLabel *)pLay->findWidgetById(CCString::createWithFormat("aim_value%d", i+1)->getCString());
		pAimValue->setString(ToString(iValue[i][1]));
	}
}