示例#1
0
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);    
}
示例#3
0
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) );
}
示例#4
0
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);
}
示例#5
0
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;
}
示例#6
0
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);
    }
    
}
示例#7
0
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();
}
示例#8
0
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);
    }
    
}
示例#9
0
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);
	
}
示例#10
0
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;
}
示例#12
0
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);
    }
    
}
示例#13
0
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();
        }
    }	
}
示例#14
0
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);
    }
}
示例#15
0
// 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;
}
示例#19
0
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;
}
示例#20
0
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);
    }
}
示例#21
0
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;
}
示例#22
0
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;
}
示例#23
0
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);
}
示例#24
0
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;
}
示例#25
0
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;
}
示例#26
0
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;
}
示例#28
0
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;
}
示例#29
0
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;
}