コード例 #1
0
ファイル: taskLayer.cpp プロジェクト: joyfish/TowerTD
void taskLayer::testMessage(Ref * message) {

	BaseSprite * sprite = dynamic_cast<BaseSprite *> (message);
	std::string name = sprite->getM_name();

	ValueMap taskMap = DataXML::getInstence()->getTask();

	for (auto taskName : taskMap)
	{
	 	std::string taskKey = taskName.first.c_str();
	 	if (name == taskKey)
	 	{
	 		for(auto v :allCondition){
	 			std::string key = v.first.c_str();
	 			if (name == key && allCondition.at(name).asInt() < taskMap.at(name).asInt())
	 			{
					//增加吃到道具数量达到任务要求后的处理!!!!!!!!!!!!!!!!!!!!别忘了
	 				int number = allCondition.at(name).asInt() + 1;
	 				allCondition[key] = number;

					//更改Label显示,更换黄匡
					changeDisplay(name);
	 			}
	 		}
	 	}
	}
}
コード例 #2
0
void GongJiang_EquipSelect::select()
{
	CCTableViewCell* lastCell = mTableView->cellAtIndex(0);
	if (lastCell)
	{
		BaseSprite* bg = (BaseSprite*)lastCell->getChildByTag(TAG_EquipBaseBody_TABLE_ITEM);

		bool isFirstIn = false;
		// 先不管是否点击了图片
		if(GameGuideManager::getManager()->isGuideNow(GameGuideManager::GID_GongJiang_QiangHua))
		{
			//GameGuideManager::getManager()->setOneGuideStart(GameGuideManager::GID_GongJiang_SelectZhuangBei);
			//GameGuideManager::getManager()->setOneGuideEnd(GameGuideManager::GID_GongJiang_SelectZhuangBei);
			if (bg)
			{
				CCPoint pos = bg->getParent()->convertToWorldSpace(bg->getPosition());
				GuideLayerBase *guideLayer1 = new GuideLayer_SimpleLayer;
				guideLayer1->init(bg->getContentSize(), ccp(pos.x,pos.y + bg->getContentSize().height / 2)
					, LFStrings::getValue("qiangxuanzezhuangbei"), NULL, false);
				//((GuideLayer_SimpleLayer*)guideLayer1)->setCallBack(this,SEL_CallFunc(&JiuGongGeLayer::GuiDeLayerCallBack));
				CCDirector::sharedDirector()->getRunningScene()->addChild(guideLayer1, 128);
			}
		}
	}

}
コード例 #3
0
ファイル: BaseSprite.cpp プロジェクト: SongCF/game-LostStar
BaseSprite* BaseSprite::create(string fileName)
{
	BaseSprite* s = new BaseSprite();
	s->initWithFile(fileName.c_str());
	s->autorelease();
	return s;
}
コード例 #4
0
ファイル: BaseSprite.cpp プロジェクト: SongCF/game-LostStar
BaseSprite* BaseSprite::create()
{
	BaseSprite* s = new BaseSprite();
	s->init();
	s->autorelease();
	return s;
}
コード例 #5
0
ファイル: BaseSprite.cpp プロジェクト: AIRIA/Brizzle
BaseSprite * BaseSprite::create( const char *fileName )
{
    BaseSprite *bs = new BaseSprite();
    if(bs&&bs->initWithFile(fileName))
    {
        bs->autorelease();
        return bs;
    }
    return NULL;
}
コード例 #6
0
ファイル: ui_button.cpp プロジェクト: CatalystG/scummvm
void UIButton::correctSize() {
	Rect32 rect;

	BaseSprite *img = nullptr;
	if (_image) {
		img = _image;
	} else if (_imageDisable) {
		img = _imageDisable;
	} else if (_imageHover) {
		img = _imageHover;
	} else if (_imagePress) {
		img = _imagePress;
	} else if (_imageFocus) {
		img = _imageFocus;
	}

	if (_width <= 0) {
		if (img) {
			img->getBoundingRect(&rect, 0, 0);
			_width = rect.right - rect.left;
		} else {
			_width = 100;
		}
	}

	if (_height <= 0) {
		if (img) {
			img->getBoundingRect(&rect, 0, 0);
			_height = rect.bottom - rect.top;
		}
	}

	if (_text) {
		int textHeight;
		if (_font) {
			textHeight = _font->getTextHeight((byte *)_text, _width);
		} else {
			textHeight = _gameRef->getSystemFont()->getTextHeight((byte *)_text, _width);
		}

		if (textHeight > _height) {
			_height = textHeight;
		}
	}

	if (_height <= 0) {
		_height = 100;
	}

	if (_back) {
		_back->correctSize(&_width, &_height);
	}
}
コード例 #7
0
void SpriteSystem::itemCallback(Ref* pSender, int Num)
{
    m_itItem[Num]->setEnabled(false);
    CCLOG("Num%d", Num);
    BaseSprite* hero = m_vHeros.at(Num);
    hero->setCurPower(0);
    hero->startAction(SPRITESTATE_MAGIC);
    //释放大招
    Magic* bigMagic = Magic::create(m_magConf[hero->getSpConf().magicGroup.magic2]);
    bigMagic->startMagic(hero, hero->getMagicTargetSP(), 0);
    this->addChild(bigMagic,2);
    //    this->startMagic(m_bsSp[Num], m_bsSp[Num]->getSpConf().magicGroup.magic2, 3);
}
コード例 #8
0
ファイル: basesprite.cpp プロジェクト: zhs007/porcupine
BaseSprite* BaseSprite::create()
{
    BaseSprite* pRet = new(std::nothrow) BaseSprite();
    if (pRet && pRet->init()) {
        pRet->autorelease();
        return pRet;
    }
    else {
        delete pRet;
        pRet = nullptr;
        return nullptr;
    }
}
コード例 #9
0
void MainFooterLayer::messageMoveDone(CCNode* pInfoStr)
{
	BaseSprite *messageBar = (BaseSprite*)this->getChildByTag(Tag_MessageInfoBar);
	if (messageBar)
	{
// 		NetLabelTTF* pLable = (NetLabelTTF*)messageBar->getChildByTag(Tag_MessageTipStr);
// 		if (!pLable)
// 		{
			if (SystemPushMessagePool::getPool()->getCurMsgCount() < 1)
			{
				messageBar->removeFromParent();
			}
//		}
	}
}
コード例 #10
0
ファイル: ad_sentence.cpp プロジェクト: mokerjoke/scummvm
bool AdSentence::update(TDirection dir) {
	if (!_talkDef) {
		return STATUS_OK;
	}

	uint32 currentTime;
	// if sound is available, synchronize with sound, otherwise use timer

	/*
	if (_sound) CurrentTime = _sound->GetPositionTime();
	else CurrentTime = _gameRef->_timer - _startTime;
	*/
	currentTime = _gameRef->_timer - _startTime;

	bool talkNodeFound = false;
	for (uint32 i = 0; i < _talkDef->_nodes.size(); i++) {
		if (_talkDef->_nodes[i]->isInTimeInterval(currentTime, dir)) {
			talkNodeFound = true;

			BaseSprite *newSprite = _talkDef->_nodes[i]->getSprite(dir);
			if (newSprite != _currentSprite) {
				newSprite->reset();
			}
			_currentSprite = newSprite;

			if (!_talkDef->_nodes[i]->_playToEnd) {
				break;
			}
		}
	}


	// no talk node, try to use default sprite instead (if any)
	if (!talkNodeFound) {
		BaseSprite *newSprite = _talkDef->getDefaultSprite(dir);
		if (newSprite) {
			if (newSprite != _currentSprite) {
				newSprite->reset();
			}
			_currentSprite = newSprite;
		} else {
			_currentSprite = NULL;
		}
	}

	return STATUS_OK;
}
コード例 #11
0
ファイル: ad_entity.cpp プロジェクト: MaddTheSane/scummvm
bool AdEntity::setSprite(const char *filename) {
	if (_currentSprite == _sprite) {
		_currentSprite = nullptr;
	}

	delete _sprite;
	_sprite = nullptr;
	BaseSprite *spr = new BaseSprite(_gameRef, this);
	if (!spr || DID_FAIL(spr->loadFile(filename))) {
		delete _sprite;
		_sprite = nullptr;
		return STATUS_FAILED;
	} else {
		_sprite = spr;
		_currentSprite = _sprite;
		return STATUS_OK;
	}
}
コード例 #12
0
PointerList<BaseSprite*>* Spritesheet::ExtractSprites()
{
    assert(this->ConfigFilePath != "");
    assert(this->SpritesheetFilePath != "");
    assert(this->Graphics != NULL);

    PointerList<BaseSprite*>* spriteList = new PointerList<BaseSprite*>();

    XmlReader configReader = XmlReader();
    configReader.LoadFile(this->ConfigFilePath);
    PointerList<XmlNode*>* nodes = configReader.FindNodes("sprite");

    auto it = nodes->GetContainer()->begin();
    while (it != nodes->GetContainer()->end())
    {
        XmlNode* node = (*it);

        std::string spriteName = node->GetAttribute("n").AttributeValue;
        int spriteSubTextureX = std::atoi(node->GetAttribute("x").AttributeValue);
        int spriteSubTextureY = std::atoi(node->GetAttribute("y").AttributeValue);
        int spriteSubTextureW = std::atoi(node->GetAttribute("w").AttributeValue);
        int spriteSubTextureH = std::atoi(node->GetAttribute("h").AttributeValue);

        FRectangle subRec = FRectangle(spriteSubTextureX, spriteSubTextureY, spriteSubTextureW, spriteSubTextureH);

        BaseSprite* newSprite = Graphics->CreateSpriteInstance();
        newSprite->Ident = spriteName;

        BaseTexture* newSpriteTexture = spritesheetTexture->GetSubTexture(subRec);
        newSprite->SetTexture(newSpriteTexture);
        newSpriteTexture->TextureName = spriteName;
        newSpriteTexture->TexturePath = this->SpritesheetFilePath;

        spriteList->Add(newSprite);

        it++;
    }

    nodes->Release();
    delete(nodes);

    return spriteList;
}
コード例 #13
0
void ChuanqiduanzaoItem::rsp_DuanZao(CCObject *msg_f)
{
	CCNotificationCenter::sharedNotificationCenter()->removeObserver(this, MSG_DuanzaoRsp_F);
	GameDirector::getDirector()->hideWaiting();

	Flat_DuanzaoRsp *data = (Flat_DuanzaoRsp*)((Flat_MSG_Rsp*)msg_f)->getData();
	if (data->err_code != Success)
	{
		if (data->err_code == CEC_NoMoreFreeSpaceToStoreEquip)
		{
			EquipBagNotEnoughDialog *layer = new EquipBagNotEnoughDialog;
			layer->showGoToFenJieDialog();
		}
		else
		{
			MessageDisplay *layer = MessageDisplay::create(CmdHelper::getHelper()->getMessage(data->err_code));
			CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
		}
		return;
	}

	//刷新头部金币
	{
		int gold = 0;
		WuPin* wp = WuPinManager::getManager()->getWuPin(ItemsType_Gold);
		if (wp != NULL)
		{
			gold = wp->getCount();
		}

		BaseSprite* header = MainLayerBase::getCurrentMainBase()->getHeader()->getHeaderContent();

		CCLabelTTF* lable = (CCLabelTTF*)header->getChildByTag(STORE_FRAM_TAG_HEAD_JINBI);
		char str[64];
		sprintf(str, "%d", gold);
		lable->setString(str);
	}

	ShenBingShangDianDuanZao *layer = new ShenBingShangDianDuanZao(data->equips);
	CCDirector::sharedDirector()->getRunningScene()->addChild(layer, 1000);
	layer->release();
}
コード例 #14
0
// 06-15 11:43:50.179: D/cocos2d-x debug info(1716): Get data from file(tabulation_armor_helmet_1.png) failed!
MainLayerZhuangBeiBaseBody::MainLayerZhuangBeiBaseBody(ZhuangbeiXiangQingFrom from)
{
    mFrom = from;

    mTableView = CCTableView::create(this, CCSizeMake(624,678));
    addChild(mTableView);
    mTableView->setDirection(kCCScrollViewDirectionVertical);
    mTableView->setVerticalFillOrder(kCCTableViewFillTopDown);
    mTableView->setPosition(ccp(8,74));
    mTableView->setDelegate(this);
    mFooterForPop = NULL;

    mClickedIdx = 0;


    BaseSprite *bar = BaseSprite::create("mianban_zhuangbeishuliang_bg.png");
    addChild(bar, 10);
    bar->setPosition(ccp(320, 43));
    CCString temp;
    temp.initWithFormat("%s: %d/%u", LFStrings::getValue("zhuangbei").c_str()
                        , MyselfManager::getManager()->getAllEquipmentsWithOutEquipedOrChuanQi().size(), MAX_COUNTS_IN_KNAPSACK);
    m_zbTotalLabel = CCLabelTTF::create(temp.getCString(), fontStr_kaiti, 20);
    m_zbTotalLabel->setAnchorPoint(ccp(1, 0.5));
    m_zbTotalLabel->setPosition(ccp(bar->getContentSize().width-20, bar->getContentSize().height/2));
    bar->addChild(m_zbTotalLabel);
    //分解提示
    m_zbFenJieTiShi = CCLabelTTF::create(LFStrings::getValue("ZBCountMax_GanKuaiQuFenJieBa").c_str(), fontStr_kaiti, 20);
    bar->addChild(m_zbFenJieTiShi);
    m_zbFenJieTiShi->setPosition(ccp(bar->getContentSize().width/2, bar->getContentSize().height/2));
    m_zbFenJieTiShi->setColor(fonColor_JingGao);
    m_zbFenJieTiShi->setVisible(false);
    m_zbFenJieMenu = CCMenu::create();
    bar->addChild(m_zbFenJieMenu);
    m_zbFenJieMenu->setPosition(ccp(0,0));
    m_zbFenJieMenu->setVisible(false);
    CCMenuItemImage *fenjie = CCMenuItemImage::create(
                                  "mianban_zhuangbei_qufenjie.png",
                                  "mianban_zhuangbei_qufenjie_select.png",
                                  this, menu_selector(MainLayerZhuangBeiBaseBody::menuitemClicked_GotoFenJie));
    m_zbFenJieMenu->addChild(fenjie);
    fenjie->setPosition(ccp(m_zbTotalLabel->getPositionX()-fenjie->getContentSize().width/2, m_zbTotalLabel->getPositionY()));
    if (mFrom != From_ZhuangBeiList)
    {
        m_zbFenJieMenu->removeFromParent();
    }
}
コード例 #15
0
void MainLayerHerosBaseBody::menuItemClicked_choseHero(CCObject* pSender)
{
	BaseSprite* bg = (BaseSprite*)((CCMenuItemImage*)pSender)->getParent()->getParent();
	CCTableViewCell* cell = (CCTableViewCell*)bg->getParent();
	int idx = cell->getIdx();

	if(mChoseHeroState[idx]>=1 && mChoseHeroState[idx]<=4)
	{
		mChoseHeroState[idx] = 0;
		--mChoseNum;

//		mTableView->reloadData();
		for(int i=0; i!=mHerosVec.size(); ++i)
			mTableView->updateCellAtIndex(i);
	}
	else if(mChoseHeroState[idx] == 0 && mChoseNum<3)
	{
		int temp[4] = {false};
		int chessboard;
		for(int i=0; i!=mChoseHeroState.size(); ++i)
			if(mChoseHeroState[i]>=1 && mChoseHeroState[i]<=4)
				temp[mChoseHeroState[i]-1] = true;
		for(int i=0; i!=4; ++i)
			if(! temp[i])		
			{
				if(MyselfManager::getManager()->getMyZhuJueData()->getChessBoardPos() == i+1)
					continue;
				chessboard = i+1;
				break;
			}
			
		mChoseHeroState[idx] = chessboard;
		++mChoseNum;

//		mTableView->reloadData();

		for(int i=0; i!=mHerosVec.size(); ++i)
			mTableView->updateCellAtIndex(i);
	}
	
}
コード例 #16
0
void MainFooterLayer::getNewMessageInfo(CCNode* pInfoStr)
{
	if (pInfoStr)
	{
		pInfoStr->removeFromParent();
	}

	BaseSprite *messageBar = (BaseSprite*)this->getChildByTag(Tag_MessageInfoBar);
	if (messageBar)
	{
		NetLabelTTF* pLable = (NetLabelTTF*)messageBar->getChildByTag(Tag_MessageTipStr);
		if (!pLable)
		{
			if (SystemPushMessagePool::getPool()->getCurMsgCount() < 1)
			{
				messageBar->removeFromParent();
			}
			else
			{
				MarqueeMessage info;
				if (SystemPushMessagePool::getPool()->getOneMessage(info))
				{
					showMessageBar(info);
				}
			}
		}
	}
	else
	{
		MarqueeMessage info;
//		info.uid=186384394; 
// 		info.type = 5;
// 		info.count=1;
// 		sprintf(info.subject, "%s", "assdf");
		if (SystemPushMessagePool::getPool()->getOneMessage(info))
		{
			showMessageBar(info);
		}
	}
}
コード例 #17
0
ファイル: ClassicScene.cpp プロジェクト: AIRIA/BirdDash
void ClassicScene::initBg()
{
    CCSprite *bg = SPRITE(images/stage_classic/stage_bg_RETINA.png);
    bg->setPosition(VisibleRect::center());
    addChild(bg);
    CCSprite *bgWood = SPRITE(images/stage_classic/stage_tree_RETINA.png);
    CCSprite *floor = SPRITE(images/stage_classic/stage_tree_grass_RETINA.png);
    floor->setPosition(ccp(VisibleRect::center().x,44));
    bgWood->setPosition(ccp(VisibleRect::center().x,-400));
    CCActionInterval *moveAct = CCMoveTo::create(0.6f,ccp(VisibleRect::center().x,400));
    CCCallFunc *showBirdLayerHandler = CCCallFunc::create(this,callfunc_selector(ClassicScene::showBirdLayer));
	bgWood->runAction(CCSequence::create(moveAct,showBirdLayerHandler,NULL));
    addChild(bgWood);
    birdLayer = BirdLayer::create();
	birdLayer->setPosition(ccp(VisibleRect::center().x,-400));
	addChild(birdLayer);
    addChild(floor);
    BaseSprite *pauseBtn = BaseSprite::createFromFile("images/stage_classic/stage_dimm2_RETINA.png","sounds/SFX/pausebuttonclick.mp3");
    pauseBtn->setPosition(ccp(50,VisibleRect::top().y-50));
    pauseBtn->setOpacity(0);
    pauseBtn->setBeganTarget(this,menu_selector(ClassicScene::pauseGame));
    addChild(pauseBtn);
}
コード例 #18
0
void GongJiang_EquipSelect::tableCellTouched(CCTableView* table, CCTableViewCell* cell)
{
	BaseSprite* bg = (BaseSprite*)cell->getChildByTag(TAG_EquipBaseBody_TABLE_ITEM);
	// 先不管是否点击了图片

	// 先移除上一个点击的
	if (selectedIndex >= 0)
	{
		CCTableViewCell* lastCell = table->cellAtIndex(selectedIndex);
		if (lastCell)
		{
			lastCell->getChildByTag(TAG_EquipBaseBody_TABLE_ITEM)->removeChildByTag(TAG_BG_MASK_PIC);
		}
	}
	// 再次选自己,代表取消
	if (selectedIndex == cell->getIdx())
	{
		selectedIndex = -1;
	}
	else
	{
		selectedIndex = cell->getIdx();
		BaseSprite* addEff = BaseSprite::create("mianban_zhuangbei_xiangxi_select.png");
		bg->addChild(addEff,10,TAG_BG_MASK_PIC);
		addEff->setPosition(ccp(bg->getContentSize().width/2,bg->getContentSize().height/2));
	}

	if(selectedIndex < 0)
	{
		mMenuItemMakeSure->setEnabled(false);
	}
	else
	{
		mMenuItemMakeSure->setEnabled(true);
	}
	bool isFirstIn = false;
	// 先不管是否点击了图片
	if(GameGuideManager::getManager()->isGuideNow(GameGuideManager::GID_GongJiang_QiangHua))
	{
		//GameGuideManager::getManager()->setOneGuideStart(GameGuideManager::GID_GongJiang_QhHt);
		GameGuideManager::getManager()->setOneGuideEnd(GameGuideManager::GID_GongJiang_QiangHua);

		if (mMenuItemMakeSure)
		{
			CCPoint pos =  mMenuItemMakeSure->getParent()->convertToWorldSpace(mMenuItemMakeSure->getPosition());
			GuideLayerBase *guideLayer1 = new GuideLayer_SimpleLayer;
			guideLayer1->init(mMenuItemMakeSure->getContentSize(),pos
				, LFStrings::getValue("DingjiQueding"), NULL, false);
			//((GuideLayer_SimpleLayer*)guideLayer1)->setCallBack(this,SEL_CallFunc(&JiuGongGeLayer::GuiDeLayerCallBack));
			CCDirector::sharedDirector()->getRunningScene()->addChild(guideLayer1, 128);
		}
	}
}
コード例 #19
0
BaseSprite* GongJiang_EquipSelect::getItemContentByIndex(unsigned int index)
{
	BaseSprite* ret = MainLayerZhuangBeiBaseBody::getItemContentByIndex(index);

	if (selectedIndex == index)
	{
		BaseSprite* addEff = BaseSprite::create("mianban_zhuangbei_xiangxi_select.png");
		ret->addChild(addEff,10,TAG_BG_MASK_PIC);
		addEff->setPosition(ccp(ret->getContentSize().width/2,ret->getContentSize().height/2));
	}

	return ret;
}
コード例 #20
0
ファイル: TanSuoLayer.cpp プロジェクト: longguai/game-DarkWar
CCTableViewCell* TanSuoLayer::tableCellAtIndex(CCTableView *table, unsigned int idx)
{
	CCTableViewCell *cell = table->dequeueCell();
	if (cell != NULL)
	{
		cell->removeAllChildren();
	}
	else 
	{
		cell = new CCTableViewCell();
		cell->autorelease();
	}

	if (table->getParent() != NULL)
	{
		CCSize cellSize = tableCellSizeForIndex(table, idx);
		Profession profId = mHeros.at(idx)->getCurrentProperty().profession;

		//head  Profession 1-10
		BaseSprite *headImg = BaseSprite::create(ImageManager::getManager()->getImageData_ProfessionHead(profId).getCurrentImageFile());
		cell->addChild(headImg);
		headImg->setPosition(ccp(cellSize.width/2, 92));

		//menu
		FXScrollMenu *menu = FXScrollMenu::create(
			table->getParent()->convertToWorldSpace(table->getPosition()), table->getViewSize());
		cell->addChild(menu, 1);
		menu->setPosition(ccp(0,0));
		CCMenuItemImage *item = CCMenuItemImage::create(
			"renxing_renwu_touxiang.png",
			"renxing_renwu_touxiang_select.png", 
			"renxing_renwu_touxiang_select.png", 
			this, menu_selector(TanSuoLayer::menuItemClicked_JieFenHeroSelect));
		menu->addChild(item, 0, profId);

		m_lMenuItemList.push_back(item);

		item->setPosition(headImg->getPosition());
		//name
		CCLabelTTF *nameLabel = CCLabelTTF::create(BaseActorPropertyParser::getParser()->getExtraProerty(profId).nameInChinese.c_str()
			, fontStr_kaiti, m_nFontSize);
		cell->addChild(nameLabel);
		nameLabel->setPosition(ccp(headImg->getPositionX()
			, headImg->getPositionY()-headImg->getContentSize().height/2-nameLabel->getContentSize().height/2));
		nameLabel->setColor(ccc3(195, 145, 96));
	}

	return cell;
}
コード例 #21
0
void MainLayerHerosBaseBody::menuItemClicked_jiesuoHero(CCObject *pSender)
{
	int idx = ((CCMenuItemImage*)pSender)->getTag();

	char buf[128];

	if (mHerosVec.at(idx)->canUnlock())
	{
		mJieSuo_HeroId = mHerosVec.at(idx)->getId();
		//弹框背景
		BaseSprite* dialog = BaseSprite::create("shangpin_goumai_tishikuang.png");
		dialog->setPosition(ccp(mWinSize.width/2, mWinSize.height/2));
		dialog->setTag(Tag_Window_JieSuo);
		//label
		CCString temp;
		//解锁此助手需要花费\n%d荣誉值\n(当前荣誉:%d)
		temp.initWithFormat(LFStrings::getValue("JieSuoZhuShouXuYao_RongYuZhi").c_str(), 
			CS::AssistantUnLockNeedHonor(MyselfManager::getManager()->getTeamActors_ZhenShen(Actor_All, LF_Locked).size()),
			MyselfManager::getManager()->getEdiableArenaTeamBasicInfo()->jifen);
		CCLabelTTF *label = CCLabelTTF::create(temp.getCString(), fontStr_kaiti, 30, CCSize(400, 0), kCCTextAlignmentCenter);
		dialog->addChild(label);
		label->setAnchorPoint(ccp(0.5, 1));
		label->setPosition(ccp(dialog->getContentSize().width/2, 278));

		//按键
		CCMenu* menu;
		{
			CCMenuItemImage* menuItemMakeSure = CCMenuItemImage::create(
				"shangpin_goumai_queren.png",
				"shangpin_goumai_queren_select.png",
				this,SEL_MenuHandler(&MainLayerHerosBaseBody::menuItemClicked_LockHero_OkCancel));


			CCMenuItemImage* menuItemCacel = CCMenuItemImage::create(
				"shangpin_goumai_quxiao.png",
				"shangpin_goumai_quxiao_select.png",
				this,SEL_MenuHandler(&MainLayerHerosBaseBody::menuItemClicked_LockHero_OkCancel));

			menu = CCMenu::create(menuItemMakeSure, menuItemCacel, NULL);
			menu->setPosition(CCPointZero);

			menuItemMakeSure->setTag(10);
			menuItemCacel->setTag(20);
			menuItemMakeSure->setPosition(ccp(dialog->getContentSize().width/3*2,70));
			menuItemCacel->setPosition(ccp(dialog->getContentSize().width/3, 70));
		}

		//弹框
		{
			LFAlert* lfAlert = new LFAlert();
			lfAlert->setTag(Tag_Window_JieSuo);
			lfAlert->setBaseContainer(dialog,menu);
			CCDirector::sharedDirector()->getRunningScene()->addChild(lfAlert, 128, Tag_Window_JieSuo);
			lfAlert->release();
		}
	}
	else
	{
		sprintf(buf, LFStrings::getValue("XuYaoZhuJueDengJi_jiesuo").c_str(), 15);
		MessageDisplay *layer = MessageDisplay::create(buf);
		CCDirector::sharedDirector()->getRunningScene()->addChild(layer);
		return;
	}
}
コード例 #22
0
BaseSprite* MainLayerHerosBaseBody::getItemContentByIndex(unsigned int index)
{

	BaseSprite* bg = BaseSprite::create("duiwu_yingxiong_bg.png");
	bg->setPosition(ccp(bg->getContentSize().width/2,bg->getContentSize().height/2));

	//图片
	{
		ImageData data = ImageManager::getManager()->getImageData_ProfessionHead((Profession)mHerosVec[index]->getActorType());

		CCLOG("----------------->%s",data.getCurrentImageFile().c_str());
		BaseSprite *sprite = BaseSprite::create( data.getCurrentImageFile());
		BaseSprite *sprite2 = BaseSprite::create( data.getCurrentImageFile());
		BaseSprite *sprite3 = BaseSprite::create( data.getCurrentImageFile());
		CCMenuItemSprite* heroItem = CCMenuItemSprite::create(sprite, sprite2, sprite3, this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_heroImg));
		CCMenu* menu = CCMenu::create(heroItem, NULL);
		bg->addChild(menu, 0, TAG_BaseBody_TABLE_HERO_IMG);
		heroItem->setPosition(ccp(74, bg->getContentSize().height/2));
		menu->setPosition(CCPointZero);

		BaseSprite *biankuang = BaseSprite::create("renxing_renwu_touxiang_select.png");
		bg->addChild(biankuang, 1);
		biankuang->setPosition(heroItem->getPosition());
		BaseSprite *item = NULL;
		Profession iType = (Profession)mHerosVec[index]->getActorType();
		if (iType == Profession_Yemanren)
		{
			item = BaseSprite::create("touxiang_jiaobiao_3.png");
		}
		else if (iType == Profession_Chike)
		{
			item = BaseSprite::create("touxiang_jiaobiao_2.png");
		}
		else if (iType == Profession_Fashi)
		{
			item = BaseSprite::create("touxiang_jiaobiao_1.png");
		}
		else if (iType == Profession_Qishi)
		{
			item = BaseSprite::create("touxiang_jiaobiao_3.png");
		}
		else if (iType == Profession_ShenJianShou)
		{
			item = BaseSprite::create("touxiang_jiaobiao_4.png");
		}
		else if (iType == Profession_MiShu)
		{
			item = BaseSprite::create("touxiang_jiaobiao_1.png");
		}
		else if (iType == Profession_WuSeng)
		{
			item = BaseSprite::create("touxiang_jiaobiao_5.png");
		}
		else if (iType == Profession_YouXia)
		{
			item = BaseSprite::create("touxiang_jiaobiao_2.png");
		}
		else if (iType == Profession_LieShou)
		{
			item = BaseSprite::create("touxiang_jiaobiao_4.png");
		}
		else if (iType == Profession_WuShi)
		{
			item = BaseSprite::create("touxiang_jiaobiao_6.png");
		}

		if (item)
		{
			item->setAnchorPoint(ccp(1, 0));
			biankuang->addChild(item);
			item->setPosition(ccp(biankuang->getContentSize().width, 0));
		}		
	}

	//name
	HeroFixedPro info = BaseActorPropertyParser::getParser()->getExtraProerty((Profession)mHerosVec[index]->getActorType());
	LF::lable(bg, info.nameInChinese,ccp(140, 106),22,fontStr_kaiti)->setTag(TAG_BaseBody_LABLE_NAME);

	// 英雄介绍
	{
		Profession profId = mHerosVec[index]->getActorType();
		CCLabelTTF *directionLabel = CCLabelTTF::create(getHeroDirectionByProfessionId(profId).c_str(), fontStr_kaiti, 20, CCSize(380, 0), kCCTextAlignmentLeft);
		bg->addChild(directionLabel, 1, Tag_Label_HeroDirection);
		directionLabel->setColor(ccc3(165, 125, 76));
		directionLabel->setAnchorPoint(ccp(0, 1));
		directionLabel->setPosition(ccp(140, 94));
	}

	if (mFlag == 1)
	{
		CCMenuItemImage* chose = CCMenuItemImage::create(
			"duiwu_yingxiong_weixuanzhong.png"
			, "duiwu_yingxiong_weixuanzhong.png"
			, this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_choseHero));
		chose->setPosition(558, 83);
		CCMenu* menu = CCMenu::create(chose, NULL);
		menu->setPosition(CCPointZero);
		bg->addChild(menu, 0, TAG_Menu);

		CCSprite* unlock = CCSprite::create("duiwu_yingxiong_unlock.png", CCRect(0, 0, 610, 129));
		bg->addChild(unlock, 0, TAG_Unlock);
		unlock->setOpacity(200);
		unlock->setPosition(bg->getPosition());

		int state = mChoseHeroState.at(index);
		if(state>=1 && state<=4) //已选中的
		{
			chose->initWithNormalImage(
				"duiwu_yingxiong_xuanzhong.png"
				, "duiwu_yingxiong_xuanzhong.png"
				, "duiwu_yingxiong_xuanzhong.png"
				, this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_choseHero));
			unlock->setVisible(false);
		}
		else if(state == 0 && mChoseNum<3) //未选中 可选的
		{
			chose->initWithNormalImage(
				"duiwu_yingxiong_daixuan.png"
				, "duiwu_yingxiong_daixuan.png"
				, "duiwu_yingxiong_daixuan.png"
				, this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_choseHero));
			unlock->setVisible(false);
		}

		else						//选满了、不能选的
		{
			bg->initWithFile("duiwu_yingxiong_bg_suoding.png");
		}

	}
	else if (mFlag == 2)
	{
		if (mHerosVec.at(index)->canUnlock())
		{
			//可解锁
			CCMenuItemImage* kjsItem = CCMenuItemImage::create(
				"duiwu_yingxiong_jiesuo.png"
				, "duiwu_yingxiong_jiesuo.png"
				, this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_jiesuoHero));
			kjsItem->setPosition(558, 83);
			kjsItem->setTag(index);
			CCMenu* menu = CCMenu::create(kjsItem, NULL);
			menu->setPosition(CCPointZero);
			bg->addChild(menu, 0, TAG_Menu);
		}
		else //还不能解锁
		{
			//不能解锁
			CCMenuItemImage* kjsItem = CCMenuItemImage::create(
				"duiwu_yingxiong_suoding.png"
				, "duiwu_yingxiong_suoding.png"
				, this, menu_selector(MainLayerHerosBaseBody::menuItemClicked_jiesuoHero));
			kjsItem->setPosition(558, 83);
			kjsItem->setTag(index);
			CCMenu* menu = CCMenu::create(kjsItem, NULL);
			menu->setPosition(CCPointZero);
			bg->addChild(menu, 0, TAG_Menu);

			CCSprite* unlock = CCSprite::create("duiwu_yingxiong_unlock.png", CCRect(0, 0, 610, 129));
			bg->addChild(unlock, 0, TAG_Unlock);
			unlock->setOpacity(200);
			unlock->setPosition(bg->getPosition());
		}

	}
	

	return bg;
}
コード例 #23
0
ファイル: ChatLayer.cpp プロジェクト: longguai/game-DarkWar
bool ChatLayer::init()
{
	bool bRet = false;
	do 
	{
		CC_BREAK_IF(! CCLayerColor::initWithColor(ccc4(0,0,0,160)) );

		CCSize winSize = CCDirector::sharedDirector()->getWinSize();

		//board
		CCSprite* board = CCSprite::create("juqing_duihuakuang.png");
		addChild(board, 2, TAG_Board);
		board->setAnchorPoint(ccp(0.5, 0));
		board->setPosition(ccp(winSize.width/2, 0));
		board->setOpacity(0);
		//next img
		BaseSprite *nextImg = BaseSprite::create("sphc_anniu_fanye.png");
		board->addChild(nextImg, 0, Tag_ImgNext);
		nextImg->setPosition(ccp(597,37));
		nextImg->setOpacity(0);
		nextImg->runAction(CCSequence::create(
			CCFadeIn::create(0.15f),
			CCRepeat::create(CCSequence::create(CCFadeOut::create(0.75f), CCFadeIn::create(0.75f), NULL), -1),
			NULL));

		//npc
		string npcFileName = getFileByName(m_chatContext.at(0).name).second;
		////////////////////////////////////////////
		if(npcFileName.empty())
		{
			CCLog("Error: %s [can't found npc imgine]", __FUNCTION__);
			npcFileName = "juqing_duihua_NPC_shenmiren.png";
		}
		////////////////////////////////////////////
		CCSprite* actorA = CCSprite::create(npcFileName.c_str());
		addChild(actorA, 1, TAG_ActorA);
		actorA->setAnchorPoint(ccp(0,0));
		actorA->setPosition(ccp(0, board->getContentSize().height-14));
		actorA->setOpacity(0);
		//actor  //yemanren   cike   fashi
		string actorFileName = getFileByName("zhujue").second;
		CCSprite* actorB = CCSprite::create(actorFileName.c_str());
		addChild(actorB, 1, TAG_ActorB);
		actorB->setAnchorPoint(ccp(1,0));
		actorB->setPosition(ccp(winSize.width, board->getContentSize().height-14));
		//		actorB->setScale(0.9);
		actorB->setOpacity(0);

		//label name
		CCLabelTTF *namelabel = CCLabelTTF::create("", fontStr_kaiti, 24);
		addChild(namelabel, 5, Tag_Label_Name);
		namelabel->setAnchorPoint(ccp(0, 0.5));
		namelabel->setPosition(ccp(20, board->getContentSize().height-42));
		namelabel->setColor(fonColor_PuTong);
		namelabel->setOpacity(0);
		//label content
		CCLabelTTF* label = CCLabelTTF::create("", fontStr_kaiti, 24, CCSize(610, 0), kCCTextAlignmentLeft);
		addChild(label, 5, TAG_label);
		label->setAnchorPoint(ccp(0,1));
		label->setColor(fonColor_FaGuang);
		label->setPosition(ccp(20, board->getContentSize().height-76));
		label->setOpacity(0);




		////////////start chat
		if(m_chatContext.at(0).name == "zhujue")
			actorB->runAction(CCFadeIn::create(0.1f));
		else
			actorA->runAction(CCFadeIn::create(0.1f));
		board->runAction(CCFadeIn::create(0.1f));
		label->runAction(CCFadeIn::create(0.1f));
		namelabel->runAction(CCFadeIn::create(0.1f));
		nextImg->runAction(CCFadeIn::create(0.15f));
		scheduleOnce(schedule_selector(ChatLayer::showChatContext), 0.05f);
		{
			mTimeEnd = false;
			mLabelFadeInEnd = false;
			++m_index;
		}

		bRet = true;
	}while(0);

	return bRet;
}
コード例 #24
0
GetAwardLayer::GetAwardLayer(CCString info, vector<ItemInfo> items, vector<Flat_DuanzaoGroupZBInfo> equips)
{
	CCLayerColor::initWithColor(ccc4(0,0,0,255));


	CCSize visSize = CCDirector::sharedDirector()->getWinSize();
	mBoard = BaseSprite::create("shangpin_goumai_tishikuang.png");
	addChild(mBoard);
	mBoard->setPosition(ccp(visSize.width/2, visSize.height/2));

	//label 提示
	{
		CCLabelTTF* label = CCLabelTTF::create(info.getCString(), 
			fontStr_kaiti, 20, CCSize(425, 0), kCCTextAlignmentLeft);
		label->setColor(ccWHITE);
		mBoard->addChild(label, 1);
		if (items.size() == 0 && equips.size() == 0)
		{
			label->setAnchorPoint(ccp(0.5, 0.5));
			label->setPosition(ccp(mBoard->getContentSize().width/2, 222));
		}
		else
		{
			label->setAnchorPoint(ccp(0.5, 1));
			label->setPosition(ccp(mBoard->getContentSize().width/2, 326));
		}
	}

	//材料
	int label_size = 20;
	ccColor3B label_color = ccWHITE;

	int allNum = items.size() + equips.size();
	int posIdx = 0;
	for (int i=0; i < items.size(); ++i, ++posIdx)
	{
		BaseSprite* cailiaoImg = BaseSprite::create("daoju_kuang_bg.png");
		mBoard->addChild(cailiaoImg);

		int pos_x = mBoard->getContentSize().width/2;
		int delta = posIdx - allNum/2;
		if(allNum % 2 == 0) 
		{
			float del = delta + 0.5;
			pos_x += del * (cailiaoImg->getContentSize().width + 10);
		}
		else
		{
			pos_x += delta * (cailiaoImg->getContentSize().width + 10);
		}
		cailiaoImg->setPosition(ccp(pos_x, mBoard->getContentSize().height/2+24));
		//item img
		BaseSprite * itemImg = BaseSprite::create(
			ImageManager::getManager()->getItemFilename(items.at(i).type)); // .count .type
		cailiaoImg->addChild(itemImg);
		itemImg->setPosition(ccp(cailiaoImg->getContentSize().width/2, cailiaoImg->getContentSize().height/2));

		//数量
		char buf[20];
		sprintf(buf, "\nx%u", items.at(i).count);
		string temp = CS::getItemName(items.at(i).type);
		temp += buf;
		CCLabelTTF *labelShuliang = CCLabelTTF::create(temp.c_str(), fontStr_kaiti, label_size
			, CCSize(0,0), kCCTextAlignmentCenter);
		cailiaoImg->addChild(labelShuliang);
		labelShuliang->setPosition(ccp(cailiaoImg->getContentSize().width/2, -labelShuliang->getContentSize().height/2));
		labelShuliang->setColor(label_color);
	}	
	for (int i=0; i<equips.size(); ++i, ++posIdx)
	{
		BaseSprite* diwenImg = BaseSprite::create(
			ImageManager::getManager()->getImageData_DiWen_WithBianKuang(equips.at(i).zhuangbei_colour)); // .count .type
		mBoard->addChild(diwenImg);

		int pos_x = mBoard->getContentSize().width/2;
		int delta = posIdx - allNum/2;
		if(allNum % 2 == 0) 
		{
			float del = delta + 0.5;
			pos_x += del * (diwenImg->getContentSize().width + 10);
		}
		else
		{
			pos_x += delta * (diwenImg->getContentSize().width + 10);
		}
		diwenImg->setPosition(ccp(pos_x, mBoard->getContentSize().height/2+24));
		//equip pic
		string equipfile = equips.at(i).zhuangbei_pic;
		equipfile = "minute_" + equipfile + ".png";
		BaseSprite *s = BaseSprite::create(equipfile);
		diwenImg->addChild(s);
		s->setScale(0.23f);
		s->setPosition(ccp(diwenImg->getContentSize().width/2,diwenImg->getContentSize().height/2));

		//数量
		char buf[20];
		sprintf(buf, "\nx%d", 1);
		string temp = equips.at(i).zhuangbei_name;
		temp += buf;
		CCLabelTTF *labelShuliang = CCLabelTTF::create(temp.c_str(), fontStr_kaiti, label_size
			, CCSize(0,0), kCCTextAlignmentCenter);
		diwenImg->addChild(labelShuliang);
		labelShuliang->setPosition(ccp(diwenImg->getContentSize().width/2, -labelShuliang->getContentSize().height/2));
		labelShuliang->setColor(label_color);
	}


	//
	this->setTag(TAG_GetAward_Layer);
	this->setZOrder(1025);
}
コード例 #25
0
void GameGrid::Setup()
{
    blockTexture = Engine->Graphics->CreateTexture();
    blockTexture->Initalize(BlockSize, BlockSize);
    blockTexture->SetSolidColor(0xFF0000FF);

    rng = new WeightedNumberGenerator();
    rng->AddBucket(0, 0.20);
    rng->AddBucket(1, 0.75);
    rng->AddBucket(2, 0.05);

    for (int i = 0; i < SquareSize; i++) // Y
    {
        for (int j = 0; j < SquareSize; j++) // X
        {
            GridTile* newTile = new GridTile(rng->GetNext(), this->Engine);

            newTile->MoveTo(j * BlockSize + (j * SpaceSize) + GridOffsetPosX, i * BlockSize + (i * SpaceSize) + GridOffsetPosY);

            this->Tiles->Add(newTile);

            this->Engine->AttachActor(newTile);
        }
    }

    // Placing the InfoTiles for the rows (at the right)
    for (int i = 0; i < SquareSize; i++)
    {
        BaseSprite* rightMostTile = this->Tiles->Get(i * SquareSize + SquareSize - 1)->TileSprite;

        FPosition rightMostPosition = rightMostTile->GetOffsetPos();

        FPosition posOffset = rightMostPosition;
        posOffset.X += rightMostTile->GetWidth() + 10;

        InfoTile* info = new InfoTile(GetZeroesOfRow(i), GetSumOfRow(i), this->Engine);
        InfoTiles->Add(info);
        
        Engine->AttachActor(info);

        info->MoveTo(posOffset.X, posOffset.Y);
    }

    // Placing the InfoTiles for the columns (at the bottom)
    for (int j = 0; j < SquareSize; j++)
    {
        BaseSprite* bottomMostTile = this->Tiles->Get(SquareSize * SquareSize - SquareSize + j)->TileSprite;

        FPosition bottomMostPosition = bottomMostTile->GetOffsetPos();
        
        FPosition posOffset = bottomMostPosition;
        posOffset.Y += bottomMostTile->GetHeight() + 10;

        InfoTile* info = new InfoTile(GetZeroesOfColumn(j), GetSumOfColumn(j), this->Engine);
        InfoTiles->Add(info);
        Engine->AttachActor(info);

        info->MoveTo(posOffset.X, posOffset.Y);
    }

    gameTitleText = Engine->CreateText("Down & Across");
    gameTitleText->SetCharacterSize(32);
    gameTitleText->SetPos(10, 0);
    gameTitleText->SetColor(0xFFFFFFFF);

    currentLevelLabel = Engine->CreateText("Level 1");
    currentLevelLabel->SetCharacterSize(32);
    currentLevelLabel->SetPos(300, 0);
    currentLevelLabel->SetColor(0xFFFFFFFF);

    currentLevelScore = Engine->CreateText("0");
    currentLevelScore->SetCharacterSize(72);
    currentLevelScore->SetPos(0, 520);
    currentLevelScore->SetColor(0xFFFFFFFF);

    currentLevelScoreExplain = Engine->CreateText("Current Level Score");
    currentLevelScoreExplain->SetCharacterSize(12);
    currentLevelScoreExplain->SetPos(5, 525);
    currentLevelScoreExplain->SetColor(0xFFFFFFFF);

    totalScoreText = Engine->CreateText("0");
    totalScoreText->SetCharacterSize(72);
    totalScoreText->SetPos(300, 520);
    totalScoreText->SetColor(0xFFFFFFFF);

    totalScoreExplain = Engine->CreateText("Total Score");
    totalScoreExplain->SetCharacterSize(12);
    totalScoreExplain->SetPos(305, 525);
    totalScoreExplain->SetColor(0xFFFFFFFF);


    btnNextLevel = Engine->CreateSprite("btnNextLevel", "assets\\Button_NextLevel.png");
    btnNextLevel->SetScale(0.5);

    FPosition targetPos = InfoTiles->Get(InfoTiles->Count() - 1)->BackgroundSprite->GetOffsetPos();
    targetPos.X += 64 + 10;
    btnNextLevel->SetPos(targetPos);

    // Message setup
    LevelCompleteMessage = new GameMessageWindow();
    LevelCompleteMessage->WindowSprite = Engine->CreateSprite("LevelCompleteMsg", "assets\\DefaultDialogBackground.png");
    LevelCompleteMessage->WindowSprite->SetScale(2.0);
    LevelCompleteMessage->WindowText = Engine->CreateText("Level Complete\n !");
    LevelCompleteMessage->SetDialogPosition(FPosition(200, 200));
    LevelCompleteMessage->Close();
}
コード例 #26
0
ファイル: TanSuoLayer.cpp プロジェクト: longguai/game-DarkWar
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;
		}
	}
}
コード例 #27
0
void ZhuangbeiXilianOverOption::onEnter()
{
	CCSprite::onEnter();

	if (m_nLevel != -1)
	{
		BaseSprite *bgSpr = BaseSprite::create("zhuangbei_xiangxi_xilian_shuxing.png");
		addChild(bgSpr);

		this->setContentSize(bgSpr->getContentSize());
		BaseSprite *xingxingImg = BaseSprite::create(CCString::createWithFormat("gongming_anniu_%d.png",m_nLevel)->getCString());
		bgSpr->addChild(xingxingImg);
		xingxingImg->setPosition(ccp(40, bgSpr->getContentSize().height / 2));
		xingxingImg->setScale(0.58f);

		ZBAttr zb_attr;
		zb_attr.attr_type = m_nAtter_type_index;
		zb_attr.attr_value = m_nPercent;
		string attrStr = GetMoFaShuXing_ByZBAttr(zb_attr, true);
		CCLabelTTF *label = CCLabelTTF::create(attrStr.c_str(), fontStr_kaiti, 20);
		bgSpr->addChild(label);
		label->setColor(ccc3(255,255,255));
		label->setPosition(ccp(bgSpr->getContentSize().width / 2, bgSpr->getContentSize().height / 2));

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

		if (m_bIsBiger)
		{
			CCSprite *spr = CCSprite::create("renxing_zhuangbeitisheng.png");
			spr->setPosition(ccp(230,this->getContentSize().height / 2));
			bgSpr->addChild(spr);
		}
		if (m_bIsFirst)
		{
			CCSprite *spr = CCSprite::create("zhuangbei_xiangxi_xilian_shuxing_xiaoguo.png");
			spr->setPosition(ccp(this->getContentSize().width / 2,this->getContentSize().height / 2));
			bgSpr->addChild(spr);

			float time = 0;
			float minTime = 0.5f;
			float maxTime = 1.2f;
			time = CCRANDOM_0_1()*(maxTime - minTime) + minTime;
			Blink(spr,time);
		}
	}
	else
	{
		BaseSprite *xingxingImg = BaseSprite::create("zhuangbei_xiangxi_xilian_shuxing_suoding.png");
		addChild(xingxingImg);
		xingxingImg->setPosition(ccp(xingxingImg->getContentSize().width / 2,xingxingImg->getContentSize().height / 2));
		this->setContentSize(xingxingImg->getContentSize());
	}
}
コード例 #28
0
//////////////////////////////////////////////////////////////////////////
// high level scripting interface
//////////////////////////////////////////////////////////////////////////
bool AdTalkHolder::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) {
	//////////////////////////////////////////////////////////////////////////
	// SetSprite
	//////////////////////////////////////////////////////////////////////////
	if (strcmp(name, "SetSprite") == 0) {
		stack->correctParams(1);

		ScValue *val = stack->pop();

		bool setCurrent = false;
		if (_currentSprite && _currentSprite == _sprite) {
			setCurrent = true;
		}

		delete _sprite;
		_sprite = nullptr;

		if (val->isNULL()) {
			_sprite = nullptr;
			if (setCurrent) {
				_currentSprite = nullptr;
			}
			stack->pushBool(true);
		} else {
			const char *filename = val->getString();
			BaseSprite *spr = new BaseSprite(_gameRef, this);
			if (!spr || DID_FAIL(spr->loadFile(filename))) {
				script->runtimeError("SetSprite method failed for file '%s'", filename);
				stack->pushBool(false);
			} else {
				_sprite = spr;
				if (setCurrent) {
					_currentSprite = _sprite;
				}
				stack->pushBool(true);
			}
		}
		return STATUS_OK;
	}

	//////////////////////////////////////////////////////////////////////////
	// GetSprite
	//////////////////////////////////////////////////////////////////////////
	else if (strcmp(name, "GetSprite") == 0) {
		stack->correctParams(0);

		if (!_sprite || !_sprite->getFilename()) {
			stack->pushNULL();
		} else {
			stack->pushString(_sprite->getFilename());
		}
		return STATUS_OK;
	}

	//////////////////////////////////////////////////////////////////////////
	// GetSpriteObject
	//////////////////////////////////////////////////////////////////////////
	else if (strcmp(name, "GetSpriteObject") == 0) {
		stack->correctParams(0);

		if (!_sprite) {
			stack->pushNULL();
		} else {
			stack->pushNative(_sprite, true);
		}
		return STATUS_OK;
	}

	//////////////////////////////////////////////////////////////////////////
	// AddTalkSprite
	//////////////////////////////////////////////////////////////////////////
	else if (strcmp(name, "AddTalkSprite") == 0) {
		stack->correctParams(2);

		const char *filename = stack->pop()->getString();
		bool ex = stack->pop()->getBool();

		BaseSprite *spr = new BaseSprite(_gameRef, this);
		if (!spr || DID_FAIL(spr->loadFile(filename))) {
			stack->pushBool(false);
			script->runtimeError("AddTalkSprite method failed for file '%s'", filename);
		} else {
			if (ex) {
				_talkSpritesEx.add(spr);
			} else {
				_talkSprites.add(spr);
			}
			stack->pushBool(true);
		}
		return STATUS_OK;
	}

	//////////////////////////////////////////////////////////////////////////
	// RemoveTalkSprite
	//////////////////////////////////////////////////////////////////////////
	else if (strcmp(name, "RemoveTalkSprite") == 0) {
		stack->correctParams(2);

		const char *filename = stack->pop()->getString();
		bool ex = stack->pop()->getBool();

		bool setCurrent = false;
		bool setTemp2 = false;

		if (ex) {
			for (uint32 i = 0; i < _talkSpritesEx.size(); i++) {
				if (scumm_stricmp(_talkSpritesEx[i]->getFilename(), filename) == 0) {
					if (_currentSprite == _talkSpritesEx[i]) {
						setCurrent = true;
					}
					if (_tempSprite2 == _talkSpritesEx[i]) {
						setTemp2 = true;
					}
					delete _talkSpritesEx[i];
					_talkSpritesEx.remove_at(i);
					break;
				}
			}
		} else {
			for (uint32 i = 0; i < _talkSprites.size(); i++) {
				if (scumm_stricmp(_talkSprites[i]->getFilename(), filename) == 0) {
					if (_currentSprite == _talkSprites[i]) {
						setCurrent = true;
					}
					if (_tempSprite2 == _talkSprites[i]) {
						setTemp2 = true;
					}
					delete _talkSprites[i];
					_talkSprites.remove_at(i);
					break;
				}
			}

		}

		stack->pushBool(true);
		if (setCurrent) {
			_currentSprite = _sprite;
		}
		if (setTemp2) {
			_tempSprite2 = _sprite;
		}

		return STATUS_OK;
	}

	//////////////////////////////////////////////////////////////////////////
	// SetTalkSprite
	//////////////////////////////////////////////////////////////////////////
	else if (strcmp(name, "SetTalkSprite") == 0) {
		stack->correctParams(2);

		const char *filename = stack->pop()->getString();
		bool ex = stack->pop()->getBool();
		bool setCurrent = false;
		bool setTemp2 = false;

		BaseSprite *spr = new BaseSprite(_gameRef, this);
		if (!spr || DID_FAIL(spr->loadFile(filename))) {
			stack->pushBool(false);
			script->runtimeError("SetTalkSprite method failed for file '%s'", filename);
		} else {

			// delete current
			if (ex) {
				for (uint32 i = 0; i < _talkSpritesEx.size(); i++) {
					if (_talkSpritesEx[i] == _currentSprite) {
						setCurrent = true;
					}
					if (_talkSpritesEx[i] == _tempSprite2) {
						setTemp2 = true;
					}
					delete _talkSpritesEx[i];
				}
				_talkSpritesEx.clear();
			} else {
				for (uint32 i = 0; i < _talkSprites.size(); i++) {
					if (_talkSprites[i] == _currentSprite) {
						setCurrent = true;
					}
					if (_talkSprites[i] == _tempSprite2) {
						setTemp2 = true;
					}
					delete _talkSprites[i];
				}
				_talkSprites.clear();
			}

			// set new
			if (ex) {
				_talkSpritesEx.add(spr);
			} else {
				_talkSprites.add(spr);
			}
			stack->pushBool(true);

			if (setCurrent) {
				_currentSprite = spr;
			}
			if (setTemp2) {
				_tempSprite2 = spr;
			}
		}
		return STATUS_OK;
	} else {
		return AdObject::scCallMethod(script, stack, thisStack, name);
	}
}
コード例 #29
0
ファイル: ui_window.cpp プロジェクト: vincenthamm/scummvm
bool UIWindow::display(int offsetX, int offsetY) {
	// go exclusive
	if (_mode == WINDOW_EXCLUSIVE || _mode == WINDOW_SYSTEM_EXCLUSIVE) {
		if (!_shieldWindow) {
			_shieldWindow = new UIWindow(_gameRef);
		}
		if (_shieldWindow) {
			_shieldWindow->_posX = _shieldWindow->_posY = 0;
			_shieldWindow->_width = _gameRef->_renderer->getWidth();
			_shieldWindow->_height = _gameRef->_renderer->getHeight();

			_shieldWindow->display();
		}
	} else if (_isMenu) {
		if (!_shieldButton) {
			_shieldButton = new UIButton(_gameRef);
			_shieldButton->setName("close");
			_shieldButton->setListener(this, _shieldButton, 0);
			_shieldButton->_parent = this;
		}
		if (_shieldButton) {
			_shieldButton->_posX = _shieldButton->_posY = 0;
			_shieldButton->setWidth(_gameRef->_renderer->getWidth());
			_shieldButton->setHeight(_gameRef->_renderer->getHeight());

			_shieldButton->display();
		}
	}

	if (!_visible) {
		return STATUS_OK;
	}

	if (_fadeBackground) {
		Graphics::PixelFormat format = _gameRef->_renderer->getPixelFormat();
		byte fadeR, fadeG, fadeB, fadeA;
		// First convert from the internal format to the screen-format
		uint32 fadeColor = format.ARGBToColor(RGBCOLGetA(_fadeColor), RGBCOLGetR(_fadeColor), RGBCOLGetG(_fadeColor), RGBCOLGetB(_fadeColor));
		// Then get components
		format.colorToARGB(fadeColor, fadeA, fadeR, fadeG, fadeB);
		_gameRef->_renderer->fadeToColor(fadeR, fadeG, fadeB, fadeA);
	}

	if (_dragging) {
		_posX += (_gameRef->_mousePos.x - _dragFrom.x);
		_posY += (_gameRef->_mousePos.y - _dragFrom.y);

		_dragFrom.x = _gameRef->_mousePos.x;
		_dragFrom.y = _gameRef->_mousePos.y;
	}

	if (!_focusedWidget || (!_focusedWidget->canFocus() || _focusedWidget->isDisabled() || !_focusedWidget->isVisible())) {
		moveFocus();
	}

	bool popViewport = false;
	if (_clipContents) {
		if (!_viewport) {
			_viewport = new BaseViewport(_gameRef);
		}
		if (_viewport) {
			_viewport->setRect(_posX + offsetX, _posY + offsetY, _posX + _width + offsetX, _posY + _height + offsetY);
			_gameRef->pushViewport(_viewport);
			popViewport = true;
		}
	}


	UITiledImage *back = _back;
	BaseSprite *image = _image;
	BaseFont *font = _font;

	if (!isFocused()) {
		if (_backInactive) {
			back = _backInactive;
		}
		if (_imageInactive) {
			image = _imageInactive;
		}
		if (_fontInactive) {
			font = _fontInactive;
		}
	}

	if (_alphaColor != 0) {
		_gameRef->_renderer->_forceAlphaColor = _alphaColor;
	}
	if (back) {
		back->display(_posX + offsetX, _posY + offsetY, _width, _height);
	}
	if (image) {
		image->draw(_posX + offsetX, _posY + offsetY, _transparent ? nullptr : this);
	}

	if (!BasePlatform::isRectEmpty(&_titleRect) && font && _text) {
		font->drawText((byte *)_text, _posX + offsetX + _titleRect.left, _posY + offsetY + _titleRect.top, _titleRect.right - _titleRect.left, _titleAlign, _titleRect.bottom - _titleRect.top);
	}

	if (!_transparent && !image) {
		_gameRef->_renderer->addRectToList(new BaseActiveRect(_gameRef,  this, nullptr, _posX + offsetX, _posY + offsetY, _width, _height, 100, 100, false));
	}

	for (uint32 i = 0; i < _widgets.size(); i++) {
		_widgets[i]->display(_posX + offsetX, _posY + offsetY);
	}

	if (_alphaColor != 0) {
		_gameRef->_renderer->_forceAlphaColor = 0;
	}

	if (popViewport) {
		_gameRef->popViewport();
	}

	return STATUS_OK;
}
コード例 #30
0
BaseSprite* MainLayerZhuangBeiBaseBody::getItemContentByIndex(unsigned int index)
{
    BaseSprite* bg = BaseSprite::create("mianban_zhuangbei_xiangxi.png");

    CCString tempStr;

    CCPoint picPos = ccp(75.0f, bg->getContentSize().height/2);

    {
        ImageData diWenData = ImageManager::getManager()->getImageData_DiWen_List(
                                  mEquipmentVec[index]->getEquipColor(),
                                  false,
                                  mEquipmentVec[index]->isPartOfSuit(),
                                  mEquipmentVec[index]->haveZhuanke());
        BaseSprite* diWen = BaseSprite::create(diWenData.getCurrentImageFile());
        diWen->setScale(diWenData.scale);
        diWen->setPosition(picPos);
        bg->addChild(diWen,0,TAG_BaseBody_TABLE_ITEM_DiWen);

        {
            BaseSprite *sprite = ImageManager::getManager()->getSpriteOfZhuangbei(mEquipmentVec[index],true,true);
            //sprite->setScale(data.scale);
            sprite->setScale(0.43f);
            sprite->setPosition(picPos);
            bg->addChild(sprite,0,TAG_BaseBody_TABLE_ITEM_Image);
        }

        //封印
        if (mEquipmentVec[index]->isInFengYin())
        {
            BaseSprite *fyImg = BaseSprite::create("shenbing_fengyin_suo.png");
            bg->addChild(fyImg, 0, TAG_BaseBody_TABLE_FengYin_Img);
            fyImg->setPosition(diWen->getPosition());
            fyImg->setScale(diWen->getContentSize().width*diWen->getScale() / fyImg->getContentSize().width);
        }

    }

    // 添加图片识别区
    {
        ImageData selecedData = ImageManager::getManager()->getImageData_DiWen_Selected(
                                    mEquipmentVec[index]->getEquipColor(),
                                    false,//mEquipmentVec[index]->isShenBing(),
                                    mEquipmentVec[index]->isPartOfSuit());
        BaseSprite* menuItemSel = BaseSprite::create(selecedData.getCurrentImageFile());
        menuItemSel->setScale(selecedData.scale);
        CCSprite* menuRect = CCSprite::createWithTexture(menuItemSel->getTexture());
        menuRect->setScale(0.0f);

        FXScrollMenu *menu = FXScrollMenu::create(
                                 mTableView->getParent()->convertToWorldSpace(mTableView->getPosition()), mTableView->getViewSize());
        bg->addChild(menu, 0, TAG_BaseBody_MENU);
        menu->setPosition(ccp(0,0));
        CCMenuItemSprite* t = CCMenuItemSprite::create(menuRect,menuItemSel,this,SEL_MenuHandler(&MainLayerZhuangBeiBaseBody::itemImageClicked));
        menu->addChild(t, 0, index);
        t->setPosition(picPos);
    }

    float left_x_start = 160 - 4;
    //名称
    {
        CCLabelTTF* label;
        char str[64];
        if (mEquipmentVec[index]->getEquipData().qianghua_data.qianghua_count != 0)
        {
            sprintf(str, "%s", mEquipmentVec[index]->getName().c_str());
        }
        else
        {
            sprintf(str, "%s", mEquipmentVec[index]->getName().c_str());
        }

        label = LF::lable(bg,str,ccp(left_x_start,190),24,fontStr_kaiti);
        label->setTag(TAG_BaseBody_LABLE_NAME);
        ccColor3B color = ImageManager::getManager()->getShowColor(mEquipmentVec[index]->getEquipColor(),false,mEquipmentVec[index]->isPartOfSuit());
        label->setColor(color);
    }

    //类型
    {
        std::string typeStr =
            CS::getZhuangbeiTypeName(mEquipmentVec[index]->getType(), mEquipmentVec[index]->getEquipColor());

        CCLabelTTF* label;
        label = LF::lable(bg,typeStr,ccp(left_x_start,165),18,fontStr_kaiti);
        label->setTag(TAG_BaseBody_LABLE_TYPE);
        label->setColor(fonColor_CiYao);
    }

    //白字
    {
        CCLabelTTF* label_baizhi = NULL;
        bool hasBaiZhi = false;
        {
            float baizi = 0;
            switch(mEquipmentVec[index]->getType())
            {
            case ZhuangbeiType_DanshouJian:
            case ZhuangbeiType_ShuangshouBishou:
            case ZhuangbeiType_ShuangshouFu:
            case ZhuangbeiType_DanshouFazhang:
            case ZhuangbeiType_ShuangshouFazhang:
            case ZhuangbeiType_Gong:
                hasBaiZhi = true;
                baizi = mEquipmentVec[index]->getGongjiLiAfterQianghua(false);
                break;
            case ZhuangbeiType_Dunpai:
            case ZhuangbeiType_KuijiaZhong:
            case ZhuangbeiType_KuijiaQin:
                hasBaiZhi = true;
                baizi = mEquipmentVec[index]->getHuJiaZhiAfterQianghua();
                break;
            default:
                break;
            }
            if (hasBaiZhi)
            {
                char str[64];
                sprintf(str, "%.1f", baizi);

                label_baizhi = LF::lable(bg,str,ccp(left_x_start,126),60,fontStr_BookAntiqua);
                label_baizhi->setTag(TAG_BaseBody_LABLE_BAIZI);
            }
            else
            {
                label_baizhi = LF::lable(bg,"",ccp(left_x_start,126),60,fontStr_BookAntiqua);
                label_baizhi->setTag(TAG_BaseBody_LABLE_BAIZI);
            }
        }
        //junshang
        CCLabelTTF* label_junshang = LF::lable(bg,LFStrings::getValue("junshang"),ccp(0,0),20,fontStr_kaiti);
        label_junshang->setAnchorPoint(ccp(0, 0.5));
        label_junshang->setPosition(
            ccp(label_baizhi->getPositionX()+label_baizhi->getContentSize().width+10, 116));
        label_junshang->setTag(TAG_BaseBody_LABLE_JUNSHANG_TXT);
        if(hasBaiZhi)
        {
            label_junshang->setVisible(true);
            if(mEquipmentVec[index]->getEquipType() == EquipType_FangJu)
                label_junshang->setString(LFStrings::getValue("huJia").c_str());
        }
        else
        {
            label_junshang->setVisible(false);
        }
    }

    //伤害详细
    if (mEquipmentVec[index]->getEquipType() == EquipType_WuQi)
    {
        CCLabelTTF* label;
        char str[64];
        sprintf(str, "%u-%u ", mEquipmentVec[index]->getEquipData().gongji_min
                , mEquipmentVec[index]->getEquipData().gongji_max);

        label = LF::lable(bg,str,ccp(left_x_start,87),20,fontStr_BookAntiqua);
        label->setTag(TAG_BaseBody_LABLE_SHANGHAIXIANGXI_NUM);
        label->setColor(fonColor_CiYao);
        CCLabelTTF* label2;
        label2 = LF::lable(bg,LFStrings::getValue("dianShangHai")
                           ,ccp(label->getPosition().x + label->getContentSize().width, label->getPositionY()),20,fontStr_kaiti);
        label2->setTag(TAG_BaseBody_LABLE_SHANGHAIXIANGXI_TXT);
        label2->setColor(fonColor_CiYao);
    }
    else
    {
        CCLabelTTF* label;
        label = LF::lable(bg,"",ccp(left_x_start,87),20,fontStr_kaiti);
        label->setTag(TAG_BaseBody_LABLE_SHANGHAIXIANGXI_NUM);
        CCLabelTTF* label2;
        label2 = LF::lable(bg,""
                           ,ccp(label->getPosition().x + label->getContentSize().width, label->getPositionY()),20,fontStr_kaiti);
        label2->setTag(TAG_BaseBody_LABLE_SHANGHAIXIANGXI_TXT);
    }

    //等级
    {
        CCLabelTTF* label;
        char str[64];
        sprintf(str, "%s %u ", LFStrings::getValue("dengji").c_str(), mEquipmentVec[index]->getEquipData().zhuangbei_level);
        label = LF::lable(bg,str,ccp(left_x_start,28),20,fontStr_kaiti);
        label->setColor(fonColor_FaGuang);
        label->setTag(TAG_BaseBody_LABLE_Level);
    }

    //人物
    {
        CCLabelTTF* label;
        int actorId = mEquipmentVec[index]->getActorId();
        if (actorId != INVALID_ID)
        {
            BaseActor* actor = MyselfManager::getManager()->getMyTeamActor(actorId);
            CCAssert(actor!=NULL,"");
            BaseActorProperty prop = actor->getCurrentProperty();
            label = LF::lable(bg,LF::getString("zhuangBeiYu")+prop.nameInChinese,ccp(0, 0),20,fontStr_kaiti);
        }
        else
        {
            label = LF::lable(bg,LF::getString("meiYouZhuangBei"),ccp(0, 0),20,fontStr_kaiti);
        }
        label->setColor(fonColor_FaGuang);
        label->setAnchorPoint(ccp(1, 0.5));
        label->setPosition(ccp( 590, 200));
        label->setTag(TAG_BaseBody_LABLE_OWNTO);
        if (actorId == INVALID_ID && mEquipmentVec[index]->getEquipData().profession_id != 0)
        {
            CCString temp;
            temp.initWithFormat("%s(%s)", LFStrings::getValue("ZhiYeXianZhi").c_str(),
                                BaseActorPropertyParser::getParser()->getExtraProerty((Profession)mEquipmentVec[index]->getEquipData().profession_id).nameInChinese.c_str());
            label->setString(temp.getCString());
            label->setColor(fonColor_JingGao);
        }
    }

    //魔法属性
    {
        int start_x = 400 + 38;
        Equipment* equip = mEquipmentVec[index];
        std::vector<std::string> vec = equip->getAllMofaShuxing(false);

        //大于5个  第五个就是 ......
        for(int i=0; i<vec.size(); ++i)
        {
            std::string txt = vec[i];

            BaseSprite* biaoji = BaseSprite::create("zhuangbei_xiangxi_biaoji.png");
            bg->addChild(biaoji, 0, TAG_BIAOJI+i);
            biaoji->setPosition(ccp(start_x, 170-i*28));
            //biaoji->setOpacity(80);

            CCLabelTTF* label;
            label = LF::lable(bg,txt,ccp(0,0),20,fontStr_kaiti);
            label->setColor(ImageManager::getManager()->getShowColor(ZhuangbeiColour_Fumo, false, false));
            label->setAnchorPoint(ccp(0, 0.5));
            label->setPosition(ccp(start_x+15, 170-i*28));
            label->setTag(i);

            if(vec.size()>6)
            {
                CCLog("Warrior:%s ---> equipment property > 6, current is [%d]", __FUNCTION__, vec.size());
                //	break;
            }
        }
        //洗练
        string xxx;
        CCSprite *diwen = (CCSprite*)bg->getChildByTag(TAG_BaseBody_TABLE_ITEM_DiWen);
        if (equip->canPurify(xxx,1) && diwen)
        {
            ZhuangbeiOptionLevel *layer = ZhuangbeiOptionLevel::createWithEquipment(equip);
            bg->addChild(layer,20);
            //layer->setScale(1/diwen->getScale());
            CCPoint pos = diwen->getPosition();
            pos.x -= diwen->getContentSize().width * diwen->getScaleX() / 2;
            pos.y -= diwen->getContentSize().height * diwen->getScaleY() / 2;

            int width = pos.x + layer->getContentSize().width / 2 + 12;
            int height = pos.y + layer->getContentSize().height / 2 + 4;
            layer->setPosition(ccp(width,height));
        }
    }

    bg->setPosition(ccp(bg->getContentSize().width/2,bg->getContentSize().height/2));
    return bg;
}