本文整理汇总了C++中CImageView::addChild方法的典型用法代码示例。如果您正苦于以下问题:C++ CImageView::addChild方法的具体用法?C++ CImageView::addChild怎么用?C++ CImageView::addChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CImageView
的用法示例。
在下文中一共展示了CImageView::addChild方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: initCellIconByData
void CHandBookHeroLayer::initCellIconByData( AData *pAData, CLayout *pCell )
{
//message AData{
// optional int32 type = 1; //类型 1英雄,2装备,3怪物
// optional int32 thumb = 2;
// optional int32 color = 3; //边框颜色
// optional int32 process = 4; //英雄、装备代表进阶数,怪物代表击杀数
// optional int32 max_process = 5;
// optional int32 param = 6;
//}
Prize *prize = new Prize;
//获取数据
int iType = 1;
if ( pAData->type()==1 || pAData->type()==3 )
{
iType = 2;
}
int iColor = pAData->color();
int iIconId = pAData->thumb();
int iRank = pAData->process();
string str = GetImageName(iType, iColor, iIconId);
//图标
CImageView* pBgRect = (CImageView *)pCell->findWidgetById("headBg");
CImageView *itemSpr = CImageView::create(str.c_str());
if (!itemSpr)
{
itemSpr = CImageView::create("prop/32003.png");
CCLOG("[ ERROR ] CPopItem::addTableCell Lost Image = %d");
}
pBgRect->addChild(itemSpr);
NodeFillParent(itemSpr);
//品质+事件
CImageView *mask= (CImageView *)pCell->findWidgetById("head");
mask->setTexture(setItemQualityTexture(iColor));
mask->setUserData(pAData);
mask->setTag(iType);
mask->setTouchEnabled(true);
mask->setOnClickListener(this, ccw_click_selector(CHandBookHeroLayer::onShowRankUp));
//进阶
for ( int i=0; i<5; i++)
{
CImageView *pStar = (CImageView *)pCell->getChildByTag(i+3);
//阶级到,点亮
if (i<iRank)
{
pStar->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderDefault));
}
else
{
pStar->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderStone));
}
}
}
示例2: onTouchItem
void CStrengthenItem::onTouchItem(CCObject* pSender)
{
if(isVisible())
{
PlayEffectSound(SFX_Button);
}
CImageView * img = (CImageView*)pSender;
m_item = (CItem*)img->getUserData();
m_pItemTip->showItemProperty(m_item);
CLayout *attribute = (CLayout*)(m_ui->findWidgetById("attr"));
attribute->setVisible(true);
m_selectCellImg->removeFromParent();
img->addChild(m_selectCellImg);
m_selectCellImg->setVisible(true);
m_selectCellImg->setPosition(ccp(img->getContentSize().width/2,0/*img->getContentSize().height/2*/));
CButton *select = (CButton*)(m_ui->findWidgetById("select")); //sel_font
CLabel *selfont = (CLabel*)(m_ui->findWidgetById("sel_font"));
if (m_toHero==m_item->armor.hero&&m_toHero>0)
{
select->setVisible(true);
selfont->setVisible(false);
}
else if (m_toHero>0&&!m_item->canUse)
{
select->setVisible(false);
selfont->setVisible(false);
}
else
{
select->setVisible(true);
selfont->setVisible(true);
}
if (m_type==2)
{
if (m_toHero>0)
{
CImageView *uninstall = (CImageView*)(m_ui->findWidgetById("uninstall"));
CImageView *change = (CImageView*)(m_ui->findWidgetById("change"));
CImageView *selfont = (CImageView*)(m_ui->findWidgetById("sel_font"));
uninstall->setVisible(m_toHero==m_item->armor.hero);
change->setVisible(m_toHero!=m_item->armor.hero&&m_item->armor.hero>0&&m_item->canUse);
selfont->setVisible(m_item->armor.hero==0&&m_item->canUse);
}
}
}
示例3: addGridCell
void CSignLayer::addGridCell(unsigned int uIdx, CGridViewCell* pCell)
{
// CHero *hero = m_currHeroList->at(uIdx);
CSign &sign = m_signData.signList.at(uIdx);
CLayout *lay = UICloneMgr::cloneLayout(m_cell);
pCell->setScale(0.97f);
for (int i = 1; i <=4; i++)
{
CCNode *child = lay->getChildByTag(i);
lay->removeChild(child);
pCell->addChild(child);
}
CImageView *imagView = (CImageView*)pCell->getChildByTag(1);
imagView->setTouchEnabled(true);
imagView->setEnabled(true);
imagView->setUserData(&m_signData.signList.at(uIdx));
imagView->setOnPressListener(this, ccw_press_selector(CSignLayer::onPress));
CCSprite *item = nullptr;
if (sign.prize.thumb>=0)
{
CImageView * pMask = (CImageView*)pCell->getChildByTag(2);
SmartSetRectPrizeColor(pMask, &sign.prize);
item = CCSprite::create(GetImageName(sign.prize.type, sign.prize.color, sign.prize.thumb).c_str());
if(!item)
{
item = CCSprite::create("headImg/101.png");
CCLOG("CSignLayer::addGridCell error load image %d", sign.prize.thumb);
}
item->setPosition(ccp(pMask->getContentSize().width/2, pMask->getContentSize().height/2));
pMask->addChild(item, -1, 2);
item->setScale(0.9f);
//加数字
CCLabelAtlas* haveNum = CCLabelAtlas::create("", "label/no_02.png", 9, 15, 46);
haveNum->setAnchorPoint(ccp(1.0f, 0.0f));
haveNum->setPosition(ccp(85, 5));
pMask->addChild(haveNum, 99, 99);
haveNum->setString(ToString(sign.prize.num));
if(sign.prize.num<=1)
{
haveNum->setVisible(false);
}
//添加星星
if(sign.prize.quality > 0)
{
CLayout* pStarLayout = SmartGetStarLayout(&sign.prize);
pMask->addChild(pStarLayout, 211, 211);
}
}
//vip icon
CCSprite *vip = (CCSprite*)pCell->getChildByTag(3);
if (sign.vip>0)
{
CCTexture2D *texture = CCTextureCache::sharedTextureCache()
->addImage(CCString::createWithFormat("public/vip_%d.png",sign.vip)->getCString());
vip->setVisible(true);
vip->setTexture(texture);
}
else
{
vip->setVisible(false);
}
switch (sign.status)
{
//没签
case 2:
{
//对勾
pCell->getChildByTag(4)->setVisible(false);
//考虑是否加个框标示为可签
if(uIdx == m_signData.sign &&
(m_signData.bCanSign || (m_signData.bCanResign && m_signData.resign>0) ) )
{
CImageView * pMask = (CImageView*)pCell->getChildByTag(2);
CCSprite* pRect = CCSprite::create("common/box_light.png");
pRect->setPosition(ccp(pMask->getPositionX()+pMask->getContentSize().width/2, pMask->getPositionY()+pMask->getContentSize().height/2));
pCell->addChild(pRect, 100);
pRect->runAction(CCRepeatForever::create(CCSequence::createWithTwoActions(CCScaleTo::create(0.3f, 1.03f), CCScaleTo::create(0.3f, 1.0f))));
}
}
break;
//已签
case 1:
{
//对勾
pCell->getChildByTag(4)->setVisible(true);
//变黑
pCell->getChildByTag(1)->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderStone));
pCell->getChildByTag(2)->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderStone));
//.........这里部分代码省略.........