Exemplo n.º 1
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;
}
Exemplo n.º 2
0
void MailInfoListLayer::displayXiangQing(Flat_DuanzaoGroupZBInfo zbInfo)
{
	//this->disableAllTouchBegin();
	mCurTaoZhuang_Info = zbInfo;

	

	BaseSprite *board = BaseSprite::create("zhuangbei_xiangxi_mianban.png");
	
	/*BaseLayer *layer = new BaseLayer();
	layer->setContentSize(board->getContentSize());
	layer->setPosition(board->getPosition());
	layer->addChild(board);*/
	CCDirector::sharedDirector()->getRunningScene()->addChild(board,1030);

	//MainLayerBase::getCurrentMainBase()->getHeader()->setContent(BaseSprite::create());
	//MainLayerBase::getCurrentMainBase()->setContaintLayer(layer,false);
	//layer->release();
	refreshEquipBoard(board, zbInfo);
	board->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width/2, CCDirector::sharedDirector()->getWinSize().height/2 + 106));

	ListMenu *menu = ListMenu::create();
	board->addChild(menu, 10);
	menu->setPosition(CCPointZero);
	//	menu->setTouchPriority(-131);
	BaseSprite *norImg = BaseSprite::create("close.png");
	BaseSprite *selImg = BaseSprite::create("close_select.png");
	CCMenuItemSprite *item = CCMenuItemSprite::create(norImg, selImg, NULL, this, menu_selector(MailInfoListLayer::menuItemClicked_close));
	menu->addChild(item, 0);
	item->setPosition(ccp(board->getContentSize().width-44+12, board->getContentSize().height-36+2));
	//底纹
	ImageData diWenData = ImageManager::getManager()->getImageData_DiWen_XiangQing(
		zbInfo.zhuangbei_colour
		, false
		, SuitPool::getPool()->isSuit(zbInfo.zb_group_id));
	BaseSprite* diWen = BaseSprite::create(diWenData.getCurrentImageFile());
	diWen->setScale(0.7f);
	board->addChild(diWen);
	diWen->setPosition(ccp(123, 838-240+122));
	// 装备图片
	string equipfile = zbInfo.zhuangbei_pic;
	equipfile = "minute_" + equipfile + ".png";
	BaseSprite *s = BaseSprite::create(equipfile);
	diWen->addChild(s);
	s->setPosition(ccp(diWen->getContentSize().width/2,diWen->getContentSize().height/2));
	//套装按钮
	if(SuitPool::getPool()->isSuit(zbInfo.zb_group_id))
	{
		string norStr = "zhuangbei_xiangxi_mianban_anniu_taozhuang.png";
		string selStr = "zhuangbei_xiangxi_mianban_anniu_taozhuang_select.png";
		// 		if (ChuanqiPool::getPool()->isShenBing(mEquipVec.at(idx).zb_group_id))
		// 		{
		// 			norStr = "zhuangbei_xiangxi_mianban_anniu_taozhuang_shenbing.png";
		// 			selStr = "zhuangbei_xiangxi_mianban_anniu_taozhuang_shenbing_select.png";
		// 		}  
		CCMenuItemImage *taozhuangItem = CCMenuItemImage::create(
			norStr.c_str()
			, selStr.c_str()
			, this ,menu_selector(MailInfoListLayer::menuItemClicked_equipDetailMenu));
		menu->addChild(taozhuangItem, 0);
		taozhuangItem->setAnchorPoint(ccp(1, 0));
		taozhuangItem->setPosition(ccp(diWen->getPositionX()+diWen->getContentSize().width/2*diWen->getScaleX()
			, diWen->getPositionY()-diWen->getContentSize().height/2*diWen->getScaleY()));
		taozhuangItem->setEnabled(false);
	}
	m_dEquimentDialog = board;
	m_mDEquipmentMenu = menu;
}