CCheckBox* TuiManager::createCheckBox(float tag,const char* normal1,const char* normal2,const char* select1, const char* select2,const char* disable1,const char* disable2,float x,float y,float rotation){ CCheckBox* pCheckBox = NULL; if(m_isUseSpriteFrame){ pCheckBox = CCheckBox::create(); pCheckBox->setNormalSpriteFrameName(normal1); pCheckBox->setNormalPressSpriteFrameName(normal2); pCheckBox->setCheckedSpriteFrameName(select1); pCheckBox->setCheckedPressSpriteFrameName(select2); pCheckBox->setDisabledNormalSpriteFrameName(disable1); pCheckBox->setDisabledCheckedSpriteFrameName(disable2); }else{ pCheckBox = CCheckBox::create(); pCheckBox->setNormalImage(normal1); pCheckBox->setNormalPressImage(normal2); pCheckBox->setCheckedImage(select1); pCheckBox->setCheckedPressImage(select2); pCheckBox->setDisabledNormalImage(disable1); pCheckBox->setDisabledCheckedImage(disable2); } pCheckBox->setRotation(rotation); pCheckBox->setPosition(Point(x,-y)); pCheckBox->setTag(tag); return pCheckBox; }
int CSmeltArmor::updateInfoToUIAndReturnCount( CLayout* pLayout[], int iNameId[], int iValue[], const char* sRange[], int iMax, const char* sTitle ) { int iMaxLineCount = 0; for(unsigned int i=0; i<iMax; i++) { //有值 if(iValue[i] > 0) { pLayout[iMaxLineCount]->setVisible(true); //设置名称 CLabel* pInfoType = (CLabel*)pLayout[iMaxLineCount]->findWidgetById("info_type"); pInfoType->setString(GETLANGSTR(iNameId[i])); //设置值大小 CLabel* pValue = (CLabel*)pLayout[iMaxLineCount]->findWidgetById("value"); if(atoi(pValue->getString())!=iValue[i]) { pValue->setString(ToString(iValue[i])); pValue->runAction(CCRollLabelAction::create(0.3f, 0, iValue[i], pValue)); } //目标值大小 CLabel* pAimValue = (CLabel*)pLayout[iMaxLineCount]->findWidgetById("aim_value"); pAimValue->setString(sRange[i]); //存ID CCheckBox* pCheck = (CCheckBox*)pLayout[iMaxLineCount]->findWidgetById("check"); pCheck->setTag(i+1); iMaxLineCount++; } //找到四个了,退出循环 if(iMaxLineCount>=4) { break; } } //隐藏掉没有数据填充的cell hideNoneValueCell(iMaxLineCount, pLayout); //如果一个都没有,隐藏标题 if(sTitle != nullptr) { CCNode* pNode = (CCNode*)m_ui->findWidgetById(sTitle); if(pNode) { pNode->setVisible(iMaxLineCount != 0); } } return iMaxLineCount; }