CCTableViewCell* S3PracticeScene::tableCellAtIndex(CCTableView *table, unsigned int idx) { // CCString *strCell = CCString::createWithFormat("Practice %d",idx); CCString *strCell = CCString::create(aVectorCellValue[idx].c_str()); CCTableViewCell *pCell = table->dequeueCell(); if (!pCell) { pCell = new CCTableViewCell(); pCell->autorelease(); CCSprite *pSprite = CCSprite::create();//("cellLine.png"); pSprite->setAnchorPoint(CCPointZero); pSprite->setPosition(CCPointZero); pCell->addChild(pSprite); { CCLabelTTF *pLabel = CCLabelTTF::create(strCell->getCString(), "Arial", s3FontSize3_macro, s3Size2_macro(aCell), kCCTextAlignmentLeft, kCCVerticalTextAlignmentCenter); pLabel->setPosition(ccp(s3Less2_macro,0)); pLabel->setAnchorPoint(CCPointZero); pLabel->setColor(ccc3(0,0,0)); pLabel->setTag(10); pCell->addChild(pLabel,1); } { CCLabelTTF *pLabel = CCLabelTTF::create("Locked", "Arial",s3FontSize3_macro, s3SizeCellLaterLabel_macro, kCCTextAlignmentRight, kCCVerticalTextAlignmentCenter); pLabel->setPosition(s3Position8_macro(aItem)); pLabel->setAnchorPoint(CCPointZero); pLabel->setColor(ccc3(0,0,255)); pLabel->setTag(10); pCell->addChild(pLabel,1); } } CCLabelTTF *pLabel = (CCLabelTTF*)pCell->getChildByTag(10); pLabel->setString(strCell->getCString()); return pCell; }
void EffectAdvanceTextLayer::onEnter(void) { CCLayer::onEnter(); CCSprite *bg = CCSprite::create("Images/background3.png"); addChild(bg, 0, kTagBackground); bg->setPosition( VisibleRect::center() ); CCSprite* grossini = CCSprite::create("Images/grossinis_sister2.png"); bg->addChild(grossini, 1, kTagSprite1); grossini->setPosition( ccp(VisibleRect::left().x+VisibleRect::getVisibleRect().size.width/3.0f, VisibleRect::bottom().y+ 200) ); CCActionInterval* sc = CCScaleBy::create(2, 5); CCActionInterval* sc_back = sc->reverse(); grossini->runAction( CCRepeatForever::create( (CCActionInterval*)(CCSequence::create(sc, sc_back, NULL)) ) ); CCSprite* tamara = CCSprite::create("Images/grossinis_sister1.png"); bg->addChild(tamara, 1, kTagSprite2); tamara->setPosition( ccp(VisibleRect::left().x+2*VisibleRect::getVisibleRect().size.width/3.0f,VisibleRect::bottom().y+200) ); CCActionInterval* sc2 = CCScaleBy::create(2, 5); CCActionInterval* sc2_back = sc2->reverse(); tamara->runAction( CCRepeatForever::create( (CCActionInterval*)(CCSequence::create(sc2, sc2_back, NULL)) ) ); CCLabelTTF* label = CCLabelTTF::create(title().c_str(), "Marker Felt", 28); label->setPosition( ccp(VisibleRect::center().x,VisibleRect::top().y-80) ); addChild(label); label->setTag( kTagLabel ); std::string strSubtitle = subtitle(); if( ! strSubtitle.empty() ) { CCLabelTTF* l = CCLabelTTF::create(strSubtitle.c_str(), "Thonburi", 16); addChild(l, 101); l->setPosition( ccp(VisibleRect::center().x,VisibleRect::top().y-80) ); } CCMenuItemImage *item1 = CCMenuItemImage::create("Images/b1.png", "Images/b2.png", this, menu_selector(EffectAdvanceTextLayer::backCallback) ); CCMenuItemImage *item2 = CCMenuItemImage::create("Images/r1.png","Images/r2.png", this, menu_selector(EffectAdvanceTextLayer::restartCallback) ); CCMenuItemImage *item3 = CCMenuItemImage::create("Images/f1.png", "Images/f2.png", this, menu_selector(EffectAdvanceTextLayer::nextCallback) ); CCMenu *menu = CCMenu::create(item1, item2, item3, NULL); menu->setPosition(CCPointZero); item1->setPosition(ccp(VisibleRect::center().x - item2->getContentSize().width*2, VisibleRect::bottom().y+item2->getContentSize().height/2)); item2->setPosition(ccp(VisibleRect::center().x, VisibleRect::bottom().y+item2->getContentSize().height/2)); item3->setPosition(ccp(VisibleRect::center().x + item2->getContentSize().width*2, VisibleRect::bottom().y+item2->getContentSize().height/2)); addChild(menu, 1); }
TextLayer::TextLayer(void) { initWithColor( ccc4(32,128,32,255) ); CCNode* node = CCNode::create(); CCActionInterval* effect = getAction(); node->runAction(effect); addChild(node, 0, kTagBackground); CCSprite *bg = CCSprite::create(s_back3); node->addChild(bg, 0); // bg->setAnchorPoint( CCPointZero ); bg->setPosition(VisibleRect::center()); CCSprite* grossini = CCSprite::create(s_pPathSister2); node->addChild(grossini, 1); grossini->setPosition( ccp(VisibleRect::left().x+VisibleRect::getVisibleRect().size.width/3,VisibleRect::center().y) ); CCActionInterval* sc = CCScaleBy::create(2, 5); CCActionInterval* sc_back = sc->reverse(); grossini->runAction( CCRepeatForever::create(CCSequence::create(sc, sc_back, NULL) ) ); CCSprite* tamara = CCSprite::create(s_pPathSister1); node->addChild(tamara, 1); tamara->setPosition( ccp(VisibleRect::left().x+2*VisibleRect::getVisibleRect().size.width/3,VisibleRect::center().y) ); CCActionInterval* sc2 = CCScaleBy::create(2, 5); CCActionInterval* sc2_back = sc2->reverse(); tamara->runAction( CCRepeatForever::create(CCSequence::create(sc2, sc2_back, NULL)) ); CCLabelTTF* label = CCLabelTTF::create((effectsList[actionIdx]).c_str(), "Marker Felt", 32); label->setPosition( ccp(VisibleRect::center().x,VisibleRect::top().y-80) ); addChild(label); label->setTag( kTagLabel ); CCMenuItemImage *item1 = CCMenuItemImage::create(s_pPathB1, s_pPathB2, this, menu_selector(TextLayer::backCallback) ); CCMenuItemImage *item2 = CCMenuItemImage::create(s_pPathR1, s_pPathR2, this, menu_selector(TextLayer::restartCallback) ); CCMenuItemImage *item3 = CCMenuItemImage::create(s_pPathF1, s_pPathF2, this, menu_selector(TextLayer::nextCallback) ); CCMenu *menu = CCMenu::create(item1, item2, item3, NULL); menu->setPosition(CCPointZero); item1->setPosition(ccp(VisibleRect::center().x - item2->getContentSize().width*2, VisibleRect::bottom().y+item2->getContentSize().height/2)); item2->setPosition(ccp(VisibleRect::center().x, VisibleRect::bottom().y+item2->getContentSize().height/2)); item3->setPosition(ccp(VisibleRect::center().x + item2->getContentSize().width*2, VisibleRect::bottom().y+item2->getContentSize().height/2)); addChild(menu, 1); schedule( schedule_selector(TextLayer::checkAnim) ); }
void GameLayer::beginCountdown(int second) { preCountdown(); setCountdownNum(second); CCSize size = CCDirector::sharedDirector()->getWinSize(); CCLabelTTF *label = CCLabelTTF::create(CCString::createWithFormat("%d", getCountdownNum())->getCString(), "ArialMT", 100); label->setColor(ccRED); label->setAnchorPoint(ccp(.5, .5)); label->setPosition(ccp(size.width * .5, size.height * .5)); this->addChild(label, ZORDER_COUNTDOWN); this->schedule(schedule_selector(GameLayer::countdownSeconds), 0.8); label->setTag(TagCountdown); doCountdownAnimation(label); }
CCTableViewCell* RankingScene::tableCellAtIndex(CCTableView *table, unsigned int idx) { CCSize size = CCDirector::sharedDirector()->getWinSize(); CCTableViewCell *cell = table->dequeueCell(); cell = new CCTableViewCell(); cell->autorelease(); // Player Point Player * p = (Player*)players->objectAtIndex(idx); CCString *string = CCString::createWithFormat("%d",p->getPoint()); CCLabelTTF *Pointlabel = CCLabelTTF::create(string->getCString(), "Helvetica", 40); Pointlabel->setAnchorPoint(ccp(1, 0)); Pointlabel->setPosition(ccp(600,0)); Pointlabel->setTag(123); cell->addChild(Pointlabel); // Player Name std::string name = p->getName(); CCLabelTTF *Namelabel = CCLabelTTF::create(p->getName().c_str(), "Helvetica", 40); Namelabel->setAnchorPoint(CCPointZero); Namelabel->setPosition(ccp(60, 0)); cell->addChild(Namelabel); // Player Rank char rankBuf[3]; sprintf(rankBuf, "Numbers/%i.png", idx+1); CCSprite *rank = CCSprite::create(rankBuf); rank->setAnchorPoint(CCPointZero); rank->setPosition(CCPointZero); cell->addChild(rank); if (idx == 0) { int rewardLocal = GameManager::sharedGameManager()->getReward(); std::string nameLocal = GameManager::sharedGameManager()->getName(); int pointMax = CCUserDefault::sharedUserDefault()->getIntegerForKey("pointMax"); if (p->getReward() != 0 && rewardLocal != 0 && p->getName() == nameLocal && p->getPoint() == pointMax) { CCMenuItemImage *bt_send_email = CCMenuItemImage::create("Present.png","PresentOnClicked.png", this, menu_selector(RankingScene::reward)); CCMenu * menu = CCMenu::create(bt_send_email, NULL); menu->setPosition(ccp(550, 30)); cell->addChild(menu); } } return cell; }
void MainGameScene::showGametimeLabel() { CCString* timeString = CCString::createWithFormat("%8.3f",gameTime); CCLabelTTF* timerLabel = (CCLabelTTF*)this->getChildByTag(tagGametimeLabel); if(timerLabel){ timerLabel->setString(timeString->getCString()); }else{ CCSize winSize = CCDirector::sharedDirector()->getWinSize(); timerLabel = CCLabelTTF::create(timeString->getCString(), "Arial", 40.0); timerLabel->setPosition(ccp(winSize.width * 0.8, winSize.height * 0.9)); timerLabel->setColor(ccc3(0, 0, 0)); timerLabel->setTag(tagGametimeLabel); this->addChild(timerLabel); } }
void GamePan::refreshWorldPad() { CCNode* pBaseNode = m_pCcbNode->getChildByTag(kTagGamePanWordPan); CCNode* tabNode = pBaseNode->getChildByTag(kTagGamePanWordPanTabBase); CCNode* itemNode = pBaseNode->getChildByTag(kTagGamePanWordPanItemBase); CCLabelTTF* itemTemp = dynamic_cast<CCLabelTTF*>(itemNode->getChildByTag(kTagGamePanWordPanItemTitle)); CCControlButton* tabItem = dynamic_cast<CCControlButton*>(tabNode->getChildByTag(kTagGamePanWordPanTabBaseItem)); float itemWidth = tabItem->getContentSize().width+ITEM_SPACE; float itemHeight = tabItem->getContentSize().height+ITEM_SPACE; for(int i =0;i<MAX_LINE;i++) { for(int j =0;j<MAX_ROW;j++) { CCControlButton* item = CCControlButton::create(); Utils::copyCCControlButton(item,tabItem); item->setPosition(ccp(tabItem->getPositionX()+j*itemWidth,tabItem->getPositionY()-i*itemHeight)); item->setTag(j+i*MAX_ROW); tabNode->addChild(item); CCLabelTTF* title = Utils::copyCCLabelTTF(itemTemp); title->setPosition(item->getPosition()); title->setTag(j+i*MAX_ROW); itemNode->addChild(title); CCString* str = (CCString*)_wordList->randomObject(); title->setString(str->getCString()); _wordList->removeObject(str); } } for(int i =0;i<MAX_LINE;i++) { for(int j =0;j<MAX_ROW;j++) { CCControlButton* item = dynamic_cast<CCControlButton*>(tabNode->getChildByTag(j+i*MAX_ROW)); XCheckBox* pCheckBox = XCheckBox::create(item); pCheckBox->setTag(item->getTag()); pCheckBox->setToggle(false); pCheckBox->setTarget(this, cccontrol_selector(GamePan::wordSelectCallbackCCControl)); tabNode->addChild(pCheckBox); item->removeFromParent(); } } itemTemp->removeFromParent(); tabItem->removeFromParent(); refreshLetter(); }
void MainGameScene::showMinimamCount() { CCString* minCountString = CCString::createWithFormat("MIN:%d",minimamCount); CCLabelTTF* minCountLabel = (CCLabelTTF*)this->getChildByTag(tagMinimamCountLabel); if(minCountLabel){ minCountLabel->setString(minCountString->getCString()); }else{ CCSize winSize = CCDirector::sharedDirector()->getWinSize(); minCountLabel = CCLabelTTF::create(minCountString->getCString(), "Arial", 40.0); minCountLabel->setPosition(ccp(winSize.width * 0.8, winSize.height * 0.8)); minCountLabel->setColor(ccc3(0, 0, 0)); minCountLabel->setTag(tagGametimeLabel); this->addChild(minCountLabel); } }
void BaseBug::addScoreAnimation() { CCString *str = CCString::createWithFormat("+%d", EACH_BUG_SCORE); CCLabelTTF* textStr = CCLabelTTF::create(str->getCString(), "Arial", 40); textStr->setPosition(ccp(this->getPositionX(), this->getPositionY()+40)); textStr->setColor(ccRED); this->getParent()->addChild(textStr); textStr->setTag(TAG_BUG_SCORE); CCActionInterval* action = CCMoveTo::create(0.8f, CCPointMake(this->getPositionX(), this->getPositionY()+80)); CCActionInterval* fadeOut = CCFadeOut::create(0.8f); CCFiniteTimeAction* action2 = CCSequence::create(CCMoveTo::create(0.8f, CCPointMake(this->getPositionX(), this->getPositionY()+80)), CCCallFunc::create(this, callfunc_selector(BaseBug::scoreAnimationEnd)), NULL); CCAction* act = CCSpawn::create( fadeOut, action2, NULL); textStr->runAction(act); }
CCTableViewCell * equipmentRoom:: tableCellAtIndex (CCTableView * table, unsigned int idx) { CCString* string; char tc_label[30]; int contentID = 0; sprintf(tc_label,"%s", equipmentList[idx]->m_name.c_str()); //string = CCString::create(m_buttons[idx].label); string = CCString::create(tc_label); //cout << idx << "script name = " << string->getCString() << endl; //cout << "author1 = " << scriptVector[idx]->authorNames[0] << endl; CCTableViewCell *cell;// = table->dequeueCell(); //if (!cell) { cell = new CustomTableViewCell(); cell->autorelease(); CCSprite *sprite = CCSprite::create("grey_cell.png"); sprite->setAnchorPoint(CCPointZero); sprite->setPosition(ccp(0, 0)); sprite->setScaleX(sfx); sprite->setScaleY(sfy); sprite->setTag(4); cell->addChild(sprite); cell->setObjectID(idx); CCLabelTTF *label = CCLabelTTF::create(string->getCString(), "Helvetica", 12.0); label->setPosition(ccp(sprite->boundingBox().size.width/2, sprite->boundingBox().size.height/2)); label->setAnchorPoint(ccp(0.5, 0.5)); //label->setPosition(CCPointZero); //label->setAnchorPoint(CCPointZero); label->setTag(123); cell->addChild(label); //} /*else { CCLabelTTF *label = (CCLabelTTF*)cell->getChildByTag(123); label->setString(string->getCString()); }*/ cout << "cell # " << idx << "title = " << string->getCString() << endl; return cell; }
CCTableViewCell * HelloWorld::tableCellAtIndex(cocos2d::extension::CCTableView *table, unsigned int idx){ CCTableViewCell *cell = table->dequeueCell(); CCLabelTTF *label; if (cell==NULL) { cell = new CCTableViewCell(); label = CCLabelTTF::create("Label", "Courier", 48); cell->addChild(label); label->setTag(TABLE_CELL_LABEL_TAG); label->setAnchorPoint(ccp(0, 0)); cell->setAnchorPoint(ccp(0, 0)); }else{ label = (CCLabelTTF*)cell->getChildByTag(TABLE_CELL_LABEL_TAG); } label->setString(((CCString*)dataArr->objectAtIndex(idx))->getCString()); return cell; }
void GameScene::showHighScoreLabel() { CCUserDefault* userDefault = CCUserDefault::sharedUserDefault(); const char* highScorekey = "hightscore"; float highScore = userDefault->getFloatForKey(highScorekey, 99.9); if (gametime != 0) { if (gametime > highScore) { return; } else { highScore = gametime; userDefault->setFloatForKey(highScorekey, highScore); userDefault->flush(); } } const int tagHighScoreLabel = 200; CCString* highScoreString = CCString::createWithFormat("%8.1fs", highScore); CCLabelTTF* highScoreLabel = (CCLabelTTF*)this->getChildByTag(tagHighScoreLabel); if (highScoreLabel) { highScoreLabel->setString(highScoreString->getCString()); } else { CCSize winSize = CCDirector::sharedDirector()->getWinSize(); highScoreLabel = CCLabelTTF::create(highScoreString->getCString(), "Arial", 24.0); highScoreLabel->setPosition(ccp(winSize.width*0.9, winSize.height*0.7)); highScoreLabel->setTag(tagHighScoreLabel); this->addChild(highScoreLabel); } }
void StadionLayer::checkForGoal(Player* player, Player* opponent, CCLabelTTF* label) { CCPoint ballCenter = ccp(_ball->getPosition().x, _ball->getPosition().y); if (player->getGate()->getHoldsBall()) { bool isGoal = false; isGoal = ballCenter.x > (player->getGate()->getPosition().x - player->getGate()->getContentSize().width * 0.5f); if (isGoal) { _gameState = kGamePaused; int score = opponent->getScore(); score++; opponent->setScore(score); updateScoreLabel(label, score); player->getGate()->setHoldsBall(false); int goals = sgl_Settings.getOptions().Score; if (opponent->getScore() >= goals) { SimpleAudioEngine::sharedEngine()->playBackgroundMusic(CROWD_SOUND, false); _goalAd->setVisible(true); } else { SimpleAudioEngine::sharedEngine()->playBackgroundMusic(CROWD_SOUND, false); CCLabelTTF* won = CCLabelTTF::create(getRightControl()->getPlayerName().c_str(), S_F_TYPE.c_str(), 100); won->setTag(_gameWonSpriteTag); addChild(won); _gameState = kGameOver; } _ball->reset(); } } }
void GameScene::showGametimeLabel() { const int tagGametimeLabel = 100; CCString* timeString = CCString::createWithFormat("%8.1fs", gametime); CCLabelTTF* timerLabel = (CCLabelTTF*)this->getChildByTag(tagGametimeLabel); if (timerLabel) { timerLabel->setString(timeString->getCString()); } else { CCSize winSize = CCDirector::sharedDirector()->getWinSize(); timerLabel = CCLabelTTF::create(timeString->getCString(), "Arial", 24.0); timerLabel->setPosition(ccp(winSize.width*0.9, winSize.height*0.9)); timerLabel->setTag(tagGametimeLabel); this->addChild(timerLabel); } }
// on "init" you need to initialize your instance bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } this->setTouchEnabled(true); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); PathObject *p01 = new PathObject(ccp(100, 50), ccp(240, 50)); PathObject *p02 = new PathObject(ccp(240, 50), ccp(400, 200)); PathObject *p03 = new PathObject(ccp(400, 200), ccp(200, 150)); PathObject *p04 = new PathObject(ccp(200, 150), ccp(350, 280)); PathObject *p05 = new PathObject(ccp(350, 280), ccp(150, 300)); PathObject *p06 = new PathObject(ccp(150, 300), ccp(100, 50)); pathArray = CCArray::create(); pathArray->retain(); pathArray->addObject(p01); pathArray->addObject(p02); pathArray->addObject(p03); pathArray->addObject(p04); pathArray->addObject(p05); pathArray->addObject(p06); region = new RegionObject(pathArray); //Add a label to show the position CCLabelTTF *label = CCLabelTTF::create("", "Verdana-BoldItalic", 15); label->setColor(ccWHITE); label->setTag(999); this->addChild(label); return true; }
CCTableViewCell* EXMainMenuScene::tableCellAtIndex(CCTableView *table, unsigned int idx) { CCString *string = (CCString*)m_listData->objectAtIndex(idx); CCTableViewCell *cell = table->dequeueCell(); if (!cell) { cell = new CCTableViewCell(); cell->autorelease(); CCLabelTTF *label = CCLabelTTF::create(string->getCString(), "Helvetica", 20.0); label->setPosition(ccp(m_winSize.width * .5, 30)); label->setTag(123); cell->addChild(label); } else { CCLabelTTF *label = (CCLabelTTF*)cell->getChildByTag(123); label->setString(string->getCString()); } return cell; }
bool GameSprite_Gold::init() { if (!CCSprite::init()) { return false; } //设置大小. this->setContentSize(CCSize(200, 70)); goldNum = 0; //字体背景. CCSprite *labelBgSprite = GameShare_Texture::sharedTexture()->GetSpriteByCCRect(akoomenu_image, CCRect(324, 938, 166, 48)); labelBgSprite->setAnchorPoint(CCPointZero); labelBgSprite->setPosition(ccp(40,0)); this->addChild(labelBgSprite,1); //加号 CCSprite *addSprite = GameShare_Texture::sharedTexture()->GetSpriteByCCRect(akoomenu_image, CCRect(1970,1772,30,34)); addSprite->setAnchorPoint(CCPointZero); addSprite->setPosition(ccp(185,30)); this->addChild(addSprite,1); //金币 CCSprite *goldSprite = GameShare_Texture::sharedTexture()->GetSpriteByCCRect(akoomenu_image, CCRect(1976, 474, 68, 68)); goldSprite->setAnchorPoint(CCPointZero); goldSprite->setPosition(CCPointZero); this->addChild(goldSprite,1); CCLabelTTF *numLabel = CCLabelTTF::create("", "Arial", 25); // numLabel char strScore[32]; sprintf(strScore,"%ld",goldNum); numLabel->setString(strScore); numLabel->setPosition(CCPoint(90, 20)); numLabel->setTag(Key_Gold_Num); this->addChild(numLabel,1); return true; }
bool GameSprite_Rice::init() { if (!CCSprite::init()) { return false; } this->setContentSize(CCSize(500, 70)); addRiceTime = RICEADDTIME; riceNum = 0; nowTime = 0; nowTime = this->getCurrentTime(); //字体背景. CCMenuItemImage *labelBgSprite = CCMenuItemImage::create(); labelBgSprite->setNormalSpriteFrame(GameShare_Texture::sharedTexture()->GetSpriteFrameByCCRect(akoomenu_image, CCRect(1763, 255, 120, 49))); labelBgSprite->setAnchorPoint(CCPointZero); labelBgSprite->setPosition(CCPointZero); labelBgSprite->setTag(Key_Add); CCMenu* pMenu = CCMenu::create(labelBgSprite, NULL); pMenu->setPosition(ccp(300,0)); pMenu->setTag(Key_Add); this->addChild(pMenu); //时间标签. CCLabelTTF *timeLabel = CCLabelTTF::create("", "Arial", 20); ccColor3B color = ccc3(95, 46, 33); char strTime[32]; sprintf(strTime,"%d:%d%d",addRiceTime/60,addRiceTime%60/10,addRiceTime%60%10); timeLabel->setColor(color); timeLabel->setString(strTime); timeLabel->setTag(Key_Time); timeLabel->setPosition(ccp(pMenu->getPositionX()+40, pMenu->getPositionY()+20)); this->addChild(timeLabel); //饭的背景 CCSprite *riceBgSprite = GameShare_Texture::sharedTexture()->GetSpriteByCCRect(akoomenu_image, CCRect(1, 1570, 278, 30)); riceBgSprite->setAnchorPoint(CCPointZero); riceBgSprite->setPosition(ccp(0,5)); this->addChild(riceBgSprite); this->schedule(schedule_selector(GameSprite_Rice::timeUpdate), 1.0); return true; }
CCTableViewCell* MainScene::tableCellAtIndex(CCTableView *table, unsigned int idx) { CCString *string = CCString::createWithFormat("%d", idx); CCTableViewCell *cell = table->dequeueCell(); if (!cell) { cell = new CCTableViewCell(); cell->autorelease(); CCSprite *sprite = CCSprite::create("Icon-144.png"); sprite->setAnchorPoint(CCPointZero); sprite->setPosition(ccp(0, 0)); sprite->setScaleX(2); cell->addChild(sprite); CCLabelTTF *label = CCLabelTTF::create(string->getCString(), "Helvetica", 20.0); label->setPosition(CCPointZero); label->setAnchorPoint(CCPointZero); label->setTag(123); cell->addChild(label); CCMenuItemImage *pBtn = CCMenuItemImage::create( "CloseNormal.png", "CloseSelected.png", this, menu_selector(MainScene::tableViewSubBtnCallback)); CCMenu* pMenu = CCMenu::create(pBtn, NULL); pBtn->setPosition(ccp(pBtn->getContentSize().width/2,pBtn->getContentSize().height/2)); pMenu->setPosition(CCPointZero); cell->addChild(pMenu, 1); cell->setTag(idx); } else { CCLabelTTF *label = (CCLabelTTF*)cell->getChildByTag(123); label->setString(string->getCString()); } return cell; }
void MainGameScene::showGameCountLabel() { CCString* countString = CCString::createWithFormat("%d",totalGameCount); CCSprite* pTouchWaku = (CCSprite*)this->getChildByTag(tagTouchWaku); if(pTouchWaku){ CCLabelTTF* countLabel = (CCLabelTTF*)pTouchWaku->getChildByTag(tagGameCountLavel); if(countLabel){ countLabel->setString(countString->getCString()); return; } }else{ CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCSprite* pTouchWaku= CCSprite::create("touch_waku.png"); pTouchWaku->setScale(0.5); CCSize pTouchSize = pTouchWaku->getContentSize(); pTouchWaku->setPosition(ccp(winSize.width - pTouchSize.width * 0.4, winSize.height - pTouchSize.height * 0.4)); pTouchWaku->setTag(tagTouchWaku); CCLabelTTF* countLabel; countLabel = CCLabelTTF::create(countString->getCString(), "Arial", 80.0); countLabel->setPosition(ccp(pTouchSize.width * 0.5, pTouchSize.height * 0.6)); countLabel->setColor(ccc3(0, 0, 0)); countLabel->setTag(tagGameCountLavel); CCLabelTTF* countLabel2; countLabel2 = CCLabelTTF::create("touch", "Arial", 50.0); countLabel2->setPosition(ccp(pTouchSize.width * 0.5, pTouchSize.height * 0.3)); countLabel2->setColor(ccc3(0, 0, 0)); pTouchWaku->addChild(countLabel); pTouchWaku->addChild(countLabel2); this->addChild(pTouchWaku); } }
CCTableViewCell* HelloWorld::tableCellAtIndex(CCTableView *table, unsigned int idx) { CCDictionary* pRecipe = (CCDictionary*)m_pRecipes->objectAtIndex(idx); CCString* pName = (CCString*)pRecipe->objectForKey("name"); CCString* pNo = (CCString*)pRecipe->objectForKey("recipe"); CCString* pStep = (CCString*)pRecipe->objectForKey("step"); CCString* string; if (pStep!=NULL) { string = CCString::createWithFormat("レシピ %s (ステップ%s): %s", pNo->getCString(), pStep->getCString(), pName->getCString()); } else if (pNo->isEqual(CCString::create("0"))) { string = pName; } else { string = CCString::createWithFormat("レシピ %s : %s", pNo->getCString(), pName->getCString()); } CCTableViewCell *cell = table->dequeueCell(); if (!cell) { cell = new CCTableViewCell(); cell->autorelease(); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); int fontSize = CCEGLView::sharedOpenGLView()->getDesignResolutionSize().height/320.0f * 20; CCLabelTTF *label = CCLabelTTF::create(string->getCString(), "Helvetica", fontSize, CCSizeMake(visibleSize.width, visibleSize.height/5), kCCTextAlignmentCenter); label->setPosition(CCPointZero); label->setAnchorPoint(CCPointZero); label->setTag(123); cell->addChild(label); } else { CCLabelTTF *label = (CCLabelTTF*)cell->getChildByTag(123); label->setString(string->getCString()); } return cell; }
bool GameOverLayer::init() { if(!CCLayer::init()) { return false; } CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCSprite* bg = CCSprite::create("scene_end.png"); bg->setPosition(ccp(winSize.width / 2, winSize.height / 2)); this->addChild(bg); CCLabelTTF* scoreLabel = CCLabelTTF::create("Score: ", "Marker Felt.ttf", 48); scoreLabel->setPosition(ccp(winSize.width / 2, winSize.height / 1.4)); scoreLabel->setTag(SCORE_TAG); this->addChild(scoreLabel); CCMenuItemImage* restartBtn = CCMenuItemImage::create( "btn_restart01.png", "btn_restart02.png", this, menu_selector(GameOverLayer::menuRestartCallback) ); restartBtn->setPosition(ccp(winSize.width / 4, winSize.height / 8)); CCMenuItemImage* backBtn = CCMenuItemImage::create( "btn_back01.png", "btn_back02.png", this, menu_selector(GameOverLayer::menuBackCallback) ); backBtn->setPosition(ccp(winSize.width / 1.4, winSize.height / 8)); CCMenu* menu = CCMenu::create(restartBtn, backBtn, NULL); menu->setPosition(CCPointZero); this->addChild(menu); this->setScore(m_score); return true; }
void CCButton::setTitleForState(const char * mTitle,CCControlState mState) { if (mTitle == NULL) { return; } CCLabelTTF * mTepNode = (CCLabelTTF *) (this->getChildByTag(CCButtonTitleTag)); if (mTepNode != NULL) { mTepNode->setString(mTitle); } else { CCSize mContentSize = this->getContentSize(); mTepNode = CCLabelTTF::labelWithString(mTitle, "Arial", 14); mTepNode->setTag(CCButtonTitleTag); this->setPosition(ccp(mContentSize.width/2.0,mContentSize.height/2.0)); this->addChild(mTepNode, CCButtonZorder2); } CCSize mContentSize = mTepNode->getContentSize(); mContentSize.width += 8; mContentSize.height += 6; this->setContentSize(mContentSize); CCString * mTepNodeInList = (CCString *) (this->titleCCStrings->objectForKey((int)mState)); if (mTepNodeInList != NULL) { std::string mTepString = mTepNodeInList->toStdString(); std::string mTepCompareString(mTitle); if (mTepString.compare(mTepCompareString) == 0) { return; } this->titleCCStrings->removeObjectForKey((int)mState); } //save string CCString * mNormalCCString = new CCString(mTitle); mNormalCCString->autorelease(); this->titleCCStrings->setObject(mNormalCCString,mState); }
CCTableViewCell* TableViewTestLayer::tableCellAtIndex(CCTableView *table, unsigned int idx) { CCString *string = CCString::createWithFormat("%d", idx); CCTableViewCell *cell = table->dequeueCell(); if (!cell) { cell = new CCTableViewCell(); cell->autorelease(); CCSprite *sprite = CCSprite::create("HelloWorld.png"); sprite->setScale(0.2f); sprite->setPosition(ccp(60, 60)); sprite->setTag(123); cell->addChild(sprite); CCLabelTTF *label = CCLabelTTF::create(string->getCString(), "Arial", 20.0); label->setPosition(ccp(60,10)); label->setTag(456); cell->addChild(label); } else { CCLabelTTF *label = (CCLabelTTF*)cell->getChildByTag(456); label->setString(string->getCString()); } return cell; }
CCTableViewCell* MallMarkets::tableCellAtIndex(cocos2d::extension::CCTableView *table, unsigned int idx) { //CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCSize tableCellSize = CCSizeMake(1136, 100); CCTableViewCell *pCell = table->dequeueCell(); string temp = this->coinImageName[idx]; string imagePath = writablePathLocal+temp; CCSprite *prizePicture = CCSprite::create(imagePath.c_str()); prizePicture->setAnchorPoint(CCPointZero); prizePicture->setPosition(ccp(20, 60)); prizePicture->setScale(1); prizePicture->setTag(122); //pCell->addChild(prizePicture); if (!pCell) { pCell = new CCTableViewCell(); pCell->autorelease(); //1.表格背景ZF_Shoot_Button_gridItem CCSprite *pSprite = CCSprite::create("ZF_Shoot_Button_gridItem.png"); pSprite->setAnchorPoint(CCPointZero); pSprite->setPosition(CCPointZero); pSprite->setScale(1); pCell->addChild(pSprite); //2.prizePicture pCell->removeChildByTag(122); pCell->addChild(prizePicture); //3.coinName CCLabelTTF *pLabeName = CCLabelTTF::create(this->coinName[idx].c_str(), "Arial", 28); pLabeName->setPosition(ccp(20, 10)); pLabeName->setColor(ccc3(88, 88, 88)); pLabeName->setAnchorPoint(CCPointZero); pLabeName->setTag(123); pCell->addChild(pLabeName); //4.prizePrice char priceChar[11]; sprintf(priceChar, "%d",this->coinListPrice[idx]); string t1 = "¥"; t1 = t1 + priceChar; CCLabelTTF *pLabelPrice = CCLabelTTF::create(t1.c_str(), "Arial", 28); pLabelPrice->setPosition(ccp(tableCellSize.width*0.37, tableCellSize.height*0.8)); pLabelPrice->setAnchorPoint(CCPointZero); pLabelPrice->setTag(124); pLabelPrice->setColor(ccc3(250, 131, 26)); pCell->addChild(pLabelPrice); //5.购买 CCMenuItemImage *itemImage = CCMenuItemImage::create("ZF_Shoot_button_coinList_buy1.png", "ZF_Shoot_button_coinList_buy2.png", this, menu_selector(MallMarkets::menuItemCall2)); if (itemImage->getTag() == -1) { itemImage->setTag(idx); } itemImage->setPosition(ccp(tableCellSize.width*0.4, tableCellSize.height*0.42)); CCMenu *menu = CCMenu::create(itemImage,NULL); menu->setPosition(CCPointZero); pCell->addChild(menu, 1); }else{ pCell->removeChildByTag(122); pCell->addChild(prizePicture); CCLabelTTF *pLabeName = (CCLabelTTF*)pCell->getChildByTag(123); pLabeName->setString(this->coinName[idx].c_str()); char priceChar[11]; sprintf(priceChar, "%d",this->coinListPrice[idx]); string t1 = "¥"; //string t2 = "元人民币"; //t1 = t1 + priceChar + t2; t1 = t1 + priceChar; CCLabelTTF *pLabelPrice = (CCLabelTTF*)pCell->getChildByTag(124); pLabelPrice->setString(t1.c_str()); } return pCell; }
CCTableViewCell* RequestList::tableCellAtIndex(CCTableView *table, unsigned int idx) { int index = idx; EziFBIncomingRequest* fbRequest = (EziFBIncomingRequest*)_fbIncomingRequestList->objectAtIndex(index); EziFacebookFriend* sender = fbRequest->getSender(); const char* senderName = sender->getName(); // Create the fancy test. EziSocialWrapperNS::FB_REQUEST::TYPE requestType = fbRequest->getRequestType(); std::string messageToDisplay = ""; switch (requestType) { case EziSocialWrapperNS::FB_REQUEST::REQUEST_INVITE: messageToDisplay.append(senderName).append(" has sent invitation to you."); break; case EziSocialWrapperNS::FB_REQUEST::REQUEST_GIFT: messageToDisplay.append(senderName).append(" has sent gift to you."); break; case EziSocialWrapperNS::FB_REQUEST::REQUEST_CHALLENGE: messageToDisplay.append(senderName).append(" has challenged to you."); break; default: messageToDisplay.append("Unknown message"); break; } // Means users have already used this request. bool requestConsumed = fbRequest->isConsumed(); CCSprite* profilePic = NULL; ccColor4B bgColor = ccc4(20, 0, 40, 255); if (requestConsumed == false) { bgColor = ccc4(50, 50, 20, 255); } // Build the table cell. CCTableViewCell *cell = table->dequeueCell(); if (cell == NULL) { cell = new CCTableViewCell(); cell->autorelease(); // Create the back layer of the cell. CCLayerColor* colorLayer = CCLayerColor::create(bgColor, SCREEN_WIDTH, CELL_HEIGHT); colorLayer->setTag(BACKGROUND_TAG); cell->addChild(colorLayer); // Get the sender profile picture path. Create it if path is available. if (sender != NULL && strcmp(sender->getPhotoPath(), "") != 0) { const char* picPath = sender->getPhotoPath(); profilePic = CCSprite::create(picPath); } else { profilePic = CCSprite::create(FB_DEFAULT_PHOTO); } // Add the profile pic to the cell row. profilePic->setAnchorPoint(ccp(0, 0.5)); profilePic->setPosition(ccp(20, CELL_HEIGHT/2)); cell->addChild(profilePic); profilePic->setTag(FRIEND_PHOTO_TAG); // Set the message. CCLabelTTF *messageLabel = CCLabelTTF::create(messageToDisplay.c_str(), "Helvetica", 20.0 * MENU_FONT_SCALE); messageLabel->setAnchorPoint(ccp(0, 0.5)); messageLabel->setPosition(ccp(20 + 20 + profilePic->getContentSize().width, CELL_HEIGHT/2)); messageLabel->setTag(REQUEST_MESSAGE_LABEL_TAG); messageLabel->setDimensions(CCSizeMake(SCREEN_WIDTH - (profilePic->getContentSize().width * 2) - 60, CELL_HEIGHT-5)); messageLabel->setHorizontalAlignment(kCCTextAlignmentLeft); cell->addChild(messageLabel); CCMenuItemImage* constumeItemButton = NULL; constumeItemButton = CCMenuItemImage::create("use.png", "use_pressed.png"); constumeItemButton->setTag(idx); constumeItemButton->setTarget(this, menu_selector(RequestList::useItem)); constumeItemButton->setScale(SCALE_FACTOR * 0.8); constumeItemButton->setTag(FRIEND_CONSUME_BUTTON_TAG); CCMenu* consumeMenu = CCMenu::create(constumeItemButton, NULL); consumeMenu->setTag(FRIEND_CONSUME_MENU_TAG); consumeMenu->setPosition(ccp(SCREEN_WIDTH - (constumeItemButton->getContentSize().width*SCALE_FACTOR*0.4), (CELL_HEIGHT - (constumeItemButton->getContentSize().height)*SCALE_FACTOR*0.4))); cell->addChild(consumeMenu); } else { // Refresh the cell data based upon idx. // 1. Refresh the profile picture. CCSprite* cellProfilePic = (CCSprite*)cell->getChildByTag(FRIEND_PHOTO_TAG); if (strcmp("", sender->getPhotoPath()) != 0 ) { const char* picPath = sender->getPhotoPath(); profilePic = CCSprite::create(picPath); } else { profilePic = CCSprite::create(FB_DEFAULT_PHOTO); } cellProfilePic->setTexture(profilePic->getTexture()); // Update the message Label. CCLabelTTF *messageLabel = (CCLabelTTF*)cell->getChildByTag(REQUEST_MESSAGE_LABEL_TAG); messageLabel->setString(messageToDisplay.c_str()); CCMenu* consumeMenu = (CCMenu*)cell->getChildByTag(FRIEND_CONSUME_MENU_TAG); CCArray* children = consumeMenu->getChildren(); if (children) { CCMenuItemImage* consumenButton = (CCMenuItemImage*)children->objectAtIndex(0); if (consumenButton) { consumenButton->setTag(index); } else { CCLOG("No Consume Button"); } } CCLayerColor* bgLayer = (CCLayerColor*)cell->getChildByTag(BACKGROUND_TAG); bgLayer->setColor(ccc3(bgColor.r, bgColor.g, bgColor.b)); } return cell; }
bool QuestionContainerSprite::init() { if (CCSprite::init()) { //Add label CCLabelTTF* label = CCLabelTTF::create("Answer 1", "Arial", 12); label->setTag(100); //Add the backgrouScut CCSize size = CCDirector::sharedDirector()->getWinSize(); CCSprite* corner = CCSprite::create("Images/bugs/corner.png"); int width = size.width * 0.9f - (corner->getContentSize().width * 2); int height = size.height * 0.15f - (corner->getContentSize().height * 2); CCLayerColor* layer = CCLayerColor::create(ccc4(255, 255, 255, 255 * .75), width, height); layer->setPosition(ccp(-width / 2, -height / 2)); //First button is blue, //second is red //Used for testing - change later static int a = 0; if (a == 0) label->setColor(ccBLUE); else { CCLog("Color changed"); label->setColor(ccRED); } a++; addChild(layer); corner->setPosition(ccp(-(width / 2 + corner->getContentSize().width / 2), -(height / 2 + corner->getContentSize().height / 2))); addChild(corner); CCSprite* corner2 = CCSprite::create("Images/bugs/corner.png"); corner2->setPosition(ccp(-corner->getPosition().x, corner->getPosition().y)); corner2->setFlipX(true); addChild(corner2); CCSprite* corner3 = CCSprite::create("Images/bugs/corner.png"); corner3->setPosition(ccp(corner->getPosition().x, -corner->getPosition().y)); corner3->setFlipY(true); addChild(corner3); CCSprite* corner4 = CCSprite::create("Images/bugs/corner.png"); corner4->setPosition(ccp(corner2->getPosition().x, -corner2->getPosition().y)); corner4->setFlipX(true); corner4->setFlipY(true); addChild(corner4); CCSprite* edge = CCSprite::create("Images/bugs/edge.png"); edge->setScaleX(width); edge->setPosition(ccp(corner->getPosition().x + (corner->getContentSize().width / 2) + (width / 2), corner->getPosition().y)); addChild(edge); CCSprite* edge2 = CCSprite::create("Images/bugs/edge.png"); edge2->setScaleX(width); edge2->setPosition(ccp(corner->getPosition().x + (corner->getContentSize().width / 2) + (width / 2), -corner->getPosition().y)); edge2->setFlipY(true); addChild(edge2); CCSprite* edge3 = CCSprite::create("Images/bugs/edge.png"); edge3->setRotation(90); edge3->setScaleX(height); edge3->setPosition(ccp(corner->getPosition().x, corner->getPosition().y + (corner->getContentSize().height / 2) + (height / 2))); addChild(edge3); CCSprite* edge4 = CCSprite::create("Images/bugs/edge.png"); edge4->setRotation(270); edge4->setScaleX(height); edge4->setPosition(ccp(-corner->getPosition().x, corner->getPosition().y + (corner->getContentSize().height / 2) + (height / 2))); addChild(edge4); addChild(label); return true; } return false; }
CCTableViewCell* KapianTableLayer::tableCellAtIndex(CCTableView *table, unsigned int idx) { if (m_kapianVector->size()==0) { //没有元素 CCTableViewCell* cell = new CCTableViewCell(); cell->autorelease(); CCLabelTTF* txtLabel = CCLabelTTF::create("还没有收集到卡片哦~", "KaiTi.ttf", 40.0); txtLabel->setColor(ccc3(0, 0, 0)); txtLabel->setPosition(ccp(500,0)); cell->addChild(txtLabel); return cell; } CCTableViewCell *cell = table->dequeueCell(); if (true){ // if (!cell){ cell = new CCTableViewCell(); cell->autorelease(); for (int i=0; i<COLUMN_NUMBER; i++) { int index=idx*COLUMN_NUMBER+i; if (index>=m_kapianVector->size()) { break;//最后一行判断 } CCSprite* gridCell=CCSprite::create(); //设置卡片 CCPoint cardPoint=S_RM->getRelativePosition("kapiankuang_in_cell",m_gridSize.height); Kapian* kapian=(*m_kapianVector)[index]; switch (m_dataMode) { case kHanzi:{ CCSprite* wenzikuang=CCSprite::createWithSpriteFrameName("wenzikuang_1.png"); wenzikuang->setPosition(cardPoint);//相对于cell设置坐标 gridCell->addChild(wenzikuang); CCLabelTTF* txtLabel = CCLabelTTF::create(kapian->getText().c_str(), "KaiTi.ttf", 80.0); if (kapian->getisCollected()) { txtLabel->setColor(ccc3(0, 0, 0)); }else{ txtLabel->setColor(ccc3(200, 200, 200)); } txtLabel->setPosition(cardPoint); txtLabel->setTag(CARD_CONTENT_TAG); gridCell->addChild(txtLabel); CCPoint midPoint=S_RM->getRelativePosition("kapian_jindu_in_cell",m_gridSize.height); Hanzi* hanzi=(Hanzi*)kapian; int starCount=hanzi->getwriteCount(); if (starCount>3) { CCSprite* star=CCSprite::createWithSpriteFrameName("kapian_xingxing_1.png"); star->setPosition(ccpAdd(midPoint, ccp(-40, 0))); gridCell->addChild(star); CCLabelTTF* x = CCLabelTTF::create("X", "Helvetica", 20.0); x->setColor(ccc3(255,165,0)); x->setPosition(midPoint); gridCell->addChild(x); CCLabelTTF *label = CCLabelTTF::create(CCString::createWithFormat("%d",starCount)->getCString(), "Helvetica", 30.0); label->setColor(ccc3(255,100,0)); label->setPosition(ccpAdd(midPoint, ccp(40, 0))); gridCell->addChild(label); }else{ for (int i=0; i<3; i++) { CCSprite* star; if (i+1<=starCount) { star=CCSprite::createWithSpriteFrameName("kapian_xingxing_1.png"); }else{ star=CCSprite::createWithSpriteFrameName("kapian_xingxing_2.png"); } star->setPosition(ccpAdd(midPoint, ccp((i-1)*40, 0))); star->setScale(0.9); gridCell->addChild(star); } } if (hanzi->getisReward()>0) { CCSprite* badge=CCSprite::createWithSpriteFrameName("badge.png"); badge->setPosition(S_RM->getRelativePosition("kapian_badge_in_gridcell",m_gridSize.height)); gridCell->addChild(badge); } //设置进度 // CCSprite* pProgressBg1=CCSprite::createWithSpriteFrameName("card-learnedprogressbar-bg.png"); // CCPoint processPoint=S_RM->getRelativePosition("kapianjindu_in_cell",S_RM->getSizeWithName("kapian_grid_cell_size").height); // pProgressBg1->setPosition(processPoint); // gridCell->addChild(pProgressBg1); // CCSprite* pProgressBg2=CCSprite::createWithSpriteFrameName("card-learnedprogressbar.png"); // CCProgressTimer* progressTimer = CCProgressTimer::create(pProgressBg2); // progressTimer->setType(kCCProgressTimerTypeBar); // progressTimer->setMidpoint(ccp(0, 0)); // progressTimer->setBarChangeRate(ccp(1, 0)); // progressTimer->setPercentage(kapian->getProgress()*100); // progressTimer->setPosition(processPoint); // progressTimer->setTag(CARD_PROGRESS_TAG); // gridCell->addChild(progressTimer); } break; case kTupian:{ string path=FileUtils::getContentFilePath(kapian->getPath()); CCSize cellSize=S_RM->getSizeWithName("kapian_table_cell_thumb_size"); CCPoint thumbPoint=S_RM->getRelativePosition("kapian_in_cell",m_gridSize.height); CCSprite* tupianSprite; if (kapian->getisCollected()) { tupianSprite=CCSprite::create(path.c_str()); }else{ tupianSprite=GraySprite::create(path.c_str()); } if (tupianSprite!=NULL) { CCSize size=tupianSprite->getContentSize(); tupianSprite->setScale(cellSize.width/size.width);//缩放 tupianSprite->setPosition(thumbPoint); tupianSprite->setTag(CARD_CONTENT_TAG); gridCell->addChild(tupianSprite); if (!kapian->getisCollected()) { CCSprite* huise=CCSprite::createWithSpriteFrameName("huise.png"); huise->setPosition(thumbPoint); huise->setScale(cellSize.width/huise->getContentSize().width);//缩放 gridCell->addChild(huise); } CCSprite* tupiankuangzi_1=CCSprite::createWithSpriteFrameName("tupiankuang_1.png"); tupiankuangzi_1->setPosition(cardPoint); gridCell->addChild(tupiankuangzi_1); } } break; } //添加gridcell,设置坐标 gridCell->setPosition(ccp(i*m_gridSize.width,0)); cell->addChild(gridCell); } } else{ // CCArray* gridCells=cell->getChildren(); // for (int i=0; i<gridCells->count(); i++) { // int index=idx*COLUMN_NUMBER+i; // CCSprite* gridCellSprite=(CCSprite*)gridCells->objectAtIndex(i); // // Kapian* kapian=(*m_kapianVector)[index]; // switch (m_dataMode) { // case kHanzi:{ // CCLabelTTF *label = (CCLabelTTF*)gridCellSprite->getChildByTag(CARD_CONTENT_TAG); // label->setString(kapian->getText().c_str()); // } // break; // // case kTupian:{ // string path=CCFileUtils::sharedFileUtils()->getWritablePath()+kapian->getPath(); // CCSprite* tupian=(CCSprite*)gridCellSprite->getChildByTag(CARD_CONTENT_TAG); // CCSize cellSize=S_RM->getSizeWithName("Tupian_table_cell_thumb_size"); // tupian->setDisplayFrame(CCSpriteFrame::create(path.c_str(),CCRectMake(0, 0, cellSize.width, cellSize.height))); // } // // break; // } // } } return cell; }
TableViewCell* CMyTableView::tableCellAtIndex(TableView *table, ssize_t idx) { const int tagLabel = 666; const int tagSprite = 777; bool hasData = true; TableViewCell *pCell = table->dequeueCell(); if( !pCell ) { pCell = new TableViewCell(); pCell->autorelease(); hasData = false; } else { pCell->removeChildByTag( tagSprite ); if( idx != m_lastTouchIdx && pCell->getChildByTag(E_Tag_SelectBg) ) { pCell->removeChildByTag( E_Tag_SelectBg ); } } if( idx >= m_viewData.size() ) { CCLog( "[CMyTableView::tableCellAtIndex]Error. idx(%d) greater than data.Size(%d)", (int)idx, (int)m_viewData.size() ); return NULL; } int off = 5; int x = off; CCSprite *pSprite = NULL; if( m_viewData[idx].useRect ) { pSprite = CCSprite::create( m_viewData[idx].icon.c_str(), m_viewData[idx].iconRect ); } else { pSprite = CCSprite::create( m_viewData[idx].icon.c_str() ); } if( pSprite ) { CCSize sz = pSprite->getContentSize(); float scale = m_cellSz.height / sz.height; sz = sz * scale; pSprite->setScale( scale ); pSprite->setPosition( ccp( sz.width/2 + off, m_cellSz.height/2) ); pCell->addChild( pSprite, 1, tagSprite ); x += (pSprite->getContentSize().width * scale) + off; } else { CCLog( "[CMyTableView::tableCellAtIndex]Error. can not load sprite:%s", m_viewData[idx].icon.c_str() ); } CCLabelTTF *pLabel = NULL; if( hasData ) { pLabel = (CCLabelTTF*)pCell->getChildByTag( tagLabel ); CCAssert( pLabel, "get label child error" ); pLabel->setString( m_viewData[idx].text.c_str() ); } else { pLabel = CCLabelTTF::create( m_viewData[idx].text.c_str(), "Arial", 20.0 ); pCell->addChild( pLabel, 1 ); } if( pLabel ) { pLabel->setAnchorPoint( ccp(0.5, 0.5) ); pLabel->setPosition( ccp(x + pLabel->getContentSize().width/2, m_cellSz.height/2) ); pLabel->setTag( tagLabel ); pLabel->setColor( ccBLACK ); } // 判断是否要重新加上选中的背景 if( idx == m_lastTouchIdx && !pCell->getChildByTag(E_Tag_SelectBg) ) { _AddSelectBg( pCell ); m_lastTouchCell = pCell; } pCell->setUserData( m_viewData[idx].data ); return pCell; }
bool HeadUpDisplay::init(){ if(!CCMenu::init()) return false; /* Adding a "close" button to exit. */ CCMenuItemImage *pCloseItem = CCMenuItemImage::create("CloseNormal.png", "CloseSelected.png", this, menu_selector(HeadUpDisplay::menuCloseCallback)); CCSize scrSize = CCDirector::sharedDirector()->getWinSize(); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); pCloseItem->setPosition( ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 , origin.y + pCloseItem->getContentSize().height/2)); this->addChild(pCloseItem,1); /* Mesh */ CCSprite* mesh = CCSprite::create(); mesh->setTextureRect(CCRect(0,0,scrSize.width,scrSize.height)); mesh->setColor(ccc3(0,0,0)); mesh->setOpacity(0); mesh->setAnchorPoint(ccp(0,0)); mesh->setPosition(CCPointZero); mesh->setTag(_meshTag); this->addChild(mesh,0); /* Bubble Talk */ CCSprite* bubble = CCSprite::create("bubbleTalk.png"); CCPoint bblePos = scrSize/2; bubble->setPosition(bblePos); bubble->setScale(0); bubble->setTag(_bubbleTalkTag); this->addChild(bubble,0); /* Message */ CCLabelTTF* labelMsg = CCLabelTTF::create("Bonjour!\n :)","Artial", 32); CCSize bubbleSize = bubble->getContentSize(); labelMsg->setPosition(bubbleSize/2); labelMsg->setOpacity(0); labelMsg->setTag(_messageTag); bubble->addChild(labelMsg,0); /* Accept Button */ CCMenuItemImage* acceptButton = CCMenuItemImage::create( "acceptButton.png","acceptButtonPressed.png", this, menu_selector(HeadUpDisplay::hideMessage)); acceptButton->retain(); CCSize aBtnSize = acceptButton->getContentSize(); acceptButton->setPosition(ccp( bblePos.x + bubbleSize.width/2 - aBtnSize.width * .25f, bblePos.y - bubbleSize.height/2 + aBtnSize.height * .25f)); acceptButton->setVisible(false); this->addChild(acceptButton,0,_acceptButtonTag); this->setPosition(CCPointZero); return true; }