加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos植物大战僵尸(六)已选植物卡片管理器类

发布时间:2020-12-14 16:33:04 所属栏目:百科 来源:网络整理
导读:2.4.3 已选植物卡片管理器类 这个类用来管理已经选择的植物卡片。即待选面板中点了一张,左侧增加一张。点击左侧,则又恢复到待选面板中。 待选面板点中一张,发送通知,传递点中植物卡片名字。已选管理器中创建一张植物开片,并加入到已选的植物卡片容器中

2.4.3已选植物卡片管理器类

这个类用来管理已经选择的植物卡片。即待选面板中点了一张,左侧增加一张。点击左侧,则又恢复到待选面板中。

待选面板点中一张,发送通知,传递点中植物卡片名字。已选管理器中创建一张植物开片,并加入到已选的植物卡片容器中。

void CHaveChooseCardMgr::addHaveCard(std::string sName)
{
	int iSize = m_listHaveCard.size();
	int iYpos = HAVE_INIT_Y - iSize*HAVE_Y_CNT;//纵坐标为递减
	CWaitChooseCard *waitCard = CWaitChooseCard::create();//新建一个卡片
	waitCard->setsName(sName);//传入的名字为新建卡片的名字
	waitCard->createByName(sName);//卡片根据对象名字从卡片缓冲池装载图片
	waitCard->setposCard(Point(HAVE_INIT_X,iYpos));
	waitCard->setPosition(Point(HAVE_INIT_X,iYpos));
	//CGlobalComm::getInstance()->getgameMapLayer()->addChild(waitCard,LAYER_SECOND);
	this->addChild(waitCard,LAYER_SECOND);
	m_listHaveCard.pushBack(waitCard);
}

当在已选管理器中点中一张卡片,做以下几件事:1.剩下的卡片依次移动位置;2.发送删除这个已选卡片的通知给待选面板;3.从已选容器中删除;4.父节点删除这个卡片。

int iCardPosInList = 0; //当前点击卡片在列表中的位置
			Vector<CWaitChooseCard*>::iterator itCard = m_listHaveCard.find(clickCard);//迭代器返回找到的索引
			if (itCard != m_listHaveCard.end())//如果迭代器不是指向末尾,说明寻找成功
			{
				iCardPosInList = std::distance(m_listHaveCard.begin(),itCard);//得到位置是以0开始的位置
			}
			int iSize = m_listHaveCard.size();
			//CGlobalComm::getInstance()->getobjWaitCard()->cardReset(clickCard->getsName());
			NOTIFY->postNotification(NOTIFY_ReduceChooseCard,(Ref*)((clickCard->getsName()).c_str()));
			for (int i = iSize - 1; i > iCardPosInList; i--)
			{
				m_listHaveCard.at(i)->setposCard(m_listHaveCard.at(i - 1)->getposCard());
				m_listHaveCard.at(i)->setPosition(m_listHaveCard.at(i - 1)->getposCard());
			}
			//m_listHaveCard.at(0)->setPosition(Point(HAVE_INIT_X,100));

			m_listHaveCard.eraSEObject(clickCard);
			clickCard->removeFromParentAndCleanup(true);
			haveChooseReduce();

实现效果

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读