本文整理汇总了C++中CImageView::setShaderProgram方法的典型用法代码示例。如果您正苦于以下问题:C++ CImageView::setShaderProgram方法的具体用法?C++ CImageView::setShaderProgram怎么用?C++ CImageView::setShaderProgram使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CImageView
的用法示例。
在下文中一共展示了CImageView::setShaderProgram方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: addTableCell
void CSharpTollgate::addTableCell(unsigned int uIdx, CTableViewCell * pCell)
{
const vector<StageWidget> *data = DataCenter::sharedData()->getStageData()
->getStageWidgets(m_chapter);
CStage &stage = m_stageList.at(uIdx);
for (int i = 0; i < 2; i++)
{
CCNode * node = (CCNode*)m_cell->getChildren()->objectAtIndex(i);
if (node->getTag()==1)
{
const StageWidget *widget = nullptr;
CCString *strId = CCString::createWithFormat("hero%d",uIdx+1);
for (int j=0; j<data->size();++j)
{
widget = &data->at(j);
if (widget->widgetId!=""&&widget->widgetId.compare(strId->getCString())==0)
{
CButton *btn = CButton::create(widget->normalImage.c_str());
btn->setScaleX(widget->scaleX);
btn->setScaleY(widget->scaleY);
btn->setPosition(ccp(100, 80/*btn->boundingBox().size.height*/));
btn->setAnchorPoint(ccp(0.5, 0.0));
btn->setUserData(&m_stageList.at(uIdx));
btn->setOnClickListener(this,ccw_click_selector(CSharpTollgate::onBattle));
btn->setTag(1);
pCell->addChild(btn);
if (!stage.isOpen)
{
btn->getNormalImage()->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderStone));
// btn->getSelectedImage()->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderStone));
}
break;
}
}
}
else if (node->getTag()==2)
{
CImageView *image = UICloneMgr::cloneImageView((CImageView*)node);
if (stage.star>0)
{
image->setTexture(CCTextureCache::sharedTextureCache()->addImage(CCString::createWithFormat("tollgate/star_%d.png",stage.star)->getCString()));
}
else
{
image->setTexture(CCTextureCache::sharedTextureCache()->addImage("tollgate/star_3.png"));
image->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderStone));
}
image->setAnchorPoint(ccp(0.5f,0));
pCell->addChild(image);
}
}
pCell->setVisible(false);
pCell->setScale(1.15f);
pCell->runAction(CCSequence::create(CCDelayTime::create(0.1f+0.15f*uIdx),CCShow::create(),CCScaleTo::create(0.05f,1.0f),CCCallFuncN::create(this,callfuncN_selector(CSharpTollgate::heroCall)),nullptr));
}
示例3: updateTotoalSign
void CSignLayer::updateTotoalSign()
{
//更新
//已领取的,宝箱变灰,加对勾
//未领取的,宝箱变亮,
//将要领取的,加黄色标题突出
for (int i = 0; i < m_signData.totalList.size()&&i<4; i++)
{
CSign &sign = m_signData.totalList.at(i);
//宝箱
CImageView *mask = (CImageView*)m_ui->findWidgetById(CCString::createWithFormat("mask%d",i+1)->getCString());
mask->setVisible(true);
//mask->setTexture(CCTextureCache::sharedTextureCache()->addImage(CCString::createWithFormat("sign/box_%d.png", i+1)->getCString()));
mask->setUserData(&sign);
mask->setTouchEnabled(true);
mask->setOnPressListener(this, ccw_press_selector(CSignLayer::onPress));
//天数
CLabel *day = (CLabel*)(m_ui->findWidgetById(CCString::createWithFormat("day%d",i+1)->getCString()));
day->setString(CCString::createWithFormat(GETLANGSTR(209),sign.day)->getCString());
//获得字样
CImageView *getspr = (CImageView*)(m_ui->findWidgetById(CCString::createWithFormat("get%d",i+1)->getCString()));
//已领取
if (sign.status==1)
{
//宝箱变灰
mask->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderStone));
//加对勾
getspr->setVisible(true);
}
//未领取
else if(sign.status==2)
{
//宝箱变灰
mask->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderDefault));
//加对勾
getspr->setVisible(false);
}
}
}
示例4: addTableCell
void CHandBookHeroLayer::addTableCell( unsigned int uIdx, CTableViewCell * pCell )
{
//先克隆外框条
CLayout *pLay = UICloneMgr::cloneLayout(m_pCellBlank);
//对应数据
AtlasIns *pAtlasIns = m_AtlasResponse.mutable_atlas_list()->Mutable(uIdx);
//赋值
for (unsigned int i=1; i<=10; i++)
{
CCNode *child = pLay->getChildByTag(i);
pLay->removeChild(child);
child->setTag(i);
pCell->addChild(child);
pCell->setTag(uIdx);
}
//1-活动底板
{
CImageView* pBoard = dynamic_cast<CImageView*>(pCell->getChildByTag(1));
pBoard->setTouchEnabled(true);
pBoard->setOnClickListener(this, ccw_click_selector(CHandBookHeroLayer::onClickBlank));
if ( uIdx==m_iSelectIndex )
{
pBoard->setTexture(CCTextureCache::sharedTextureCache()->addImage("handBook/bookbg_2.png"));
}
else
{
pBoard->setTexture(CCTextureCache::sharedTextureCache()->addImage("handBook/bookbg_1.png"));
}
}
//2-组合名字
{
CLabel* pLabel = dynamic_cast<CLabel*>(pCell->getChildByTag(2));
}
//3-//组合描述
{
CLabel* pLabel = dynamic_cast<CLabel*>(pCell->getChildByTag(3));
}
//4-礼品背景
//5-礼品
//10-文字
{
CImageView* pGiftBg = dynamic_cast<CImageView*>(pCell->getChildByTag(4));
CImageView* pGift = dynamic_cast<CImageView*>(pCell->getChildByTag(5));
CLabel* pLabel = dynamic_cast<CLabel*>(pCell->getChildByTag(10));
pLabel->setVisible(false);
pGift->stopAllActions();
//奖励领取标志 0未领取(不可领取),1未领取(可领取状态),2 已领取
switch (pAtlasIns->get_prize())
{
case 0:
{
pGiftBg->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderStone));
pGift->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderStone));
}break;
case 1:
{
pGiftBg->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderDefault));
pGift->setShaderProgram(ShaderDataMgr->getShaderByType(ShaderDefault));
ResetAnchorPointAndKeepSamePos(pGift, CCPointCenter);
pGift->runAction(CCRepeatForever::create(CCSequence::createWithTwoActions(CCScaleTo::create(0.3f, 0.75f), CCScaleTo::create(0.3f, 0.7f))));
}break;
case 2:
{
pGiftBg->setVisible(false);
pGift->setVisible(false);
pLabel->setVisible(true);
}break;
default:
break;
}
}
//7-进度条
//8-进度数字
//9-进度图标
{
CProgressBar* pProgress = dynamic_cast<CProgressBar*>(pCell->getChildByTag(7));
CLabel* pLabel = dynamic_cast<CLabel*>(pCell->getChildByTag(8));
pLabel->setTouchEnabled(true);
pLabel->setOnClickListener(this, ccw_click_selector(CHandBookHeroLayer::onClickScoreIcon));
CImageView* pIcon = dynamic_cast<CImageView*>(pCell->getChildByTag(9));
pIcon->setTouchEnabled(true);
pIcon->setOnClickListener(this, ccw_click_selector(CHandBookHeroLayer::onClickScoreIcon));
}
//.........这里部分代码省略.........