Beispiel #1
0
//------------------------------------------------------------------
//
// LabelTTFTest
//
//------------------------------------------------------------------
LabelTTFTest::LabelTTFTest()
{
	CCSize s = CCDirector::sharedDirector()->getWinSize();

	// CCLabelBMFont
	CCLabelTTF *left = CCLabelTTF::labelWithString("align left", CCSizeMake(s.width, 50), CCTextAlignmentLeft, "Marker Felt", 32);
	CCLabelTTF *center = CCLabelTTF::labelWithString("align center", CCSizeMake(s.width, 50), CCTextAlignmentCenter, "Marker Felt", 32);
	CCLabelTTF *right = CCLabelTTF::labelWithString("align right", CCSizeMake(s.width, 50), CCTextAlignmentRight, "Marker Felt", 32);

	left->setPosition(ccp(s.width / 2, 200));
	center->setPosition(ccp(s.width / 2, 150));
	right->setPosition(ccp(s.width / 2, 100));

	addChild(left);
	addChild(center);
	addChild(right);
}
// on "init" you need to initialize your instance
bool MainScene::init()
{
	//////////////////////////////
	// 1. super init first
	if ( !CCLayer::init() )
	{
		return false;
	}

	CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
	CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();


	CCSprite* bgSprite = CCSprite::create("img_direct.jpg");
	bgSprite->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
	this->addChild(bgSprite);

	CCLabelTTF* pLabelTitle = CCLabelTTF::create("SOOMLA Store\nExample", "GoodDog.otf", 54);
	pLabelTitle->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height - 100 + origin.y));
	this->addChild(pLabelTitle, 1);

	CCLabelTTF* pLabelGame = CCLabelTTF::create("[YOUR GAME HERE]", "GoodDog.otf", 54);
	pLabelGame->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 - 0 + origin.y));
	this->addChild(pLabelGame, 1);

	pRightBox = CCSprite::create("right_bg.png");
	pRightBox->setScale(2.0f);
	pRightBox->setPosition(ccp(origin.x + visibleSize.width - (pRightBox->boundingBox().size.width / 2) - 50, 250 + origin.y));
	this->addChild(pRightBox, 0);

	Soomla* pSoomla = Soomla::create("soomla_logo_new.png", pRightBox);
	pSoomla->setScale(2.0f);
	pSoomla->setPosition(ccp(origin.x + (pSoomla->boundingBox().size.width / 2) + 50, 250 + origin.y));
	this->addChild(pSoomla, 0);


	CCLabelTTF* pLabelInstructions = CCLabelTTF::create("Drag the SooMLA-bot to the box top open store", "GoodDog.otf", 24);
	pLabelInstructions->setPosition(ccp(visibleSize.width/2 + origin.x, 100 + origin.y));
	this->addChild(pLabelInstructions, 1);

	this->setKeypadEnabled(true);

	return true;
}
bool TextFieldTTFActionTest::onTextFieldInsertText(CCTextFieldTTF * pSender, const char * text, int nLen)
{
    // if insert enter, treat as default to detach with ime
    if ('\n' == *text)
    {
        return false;
    }
    
    // if the textfield's char count more than m_nCharLimit, doesn't insert text anymore.
    if (pSender->getCharCount() >= m_nCharLimit)
    {
        return true;
    }

    // create a insert text sprite aScut do some action
    CCLabelTTF * label = CCLabelTTF::create(text, FONT_NAME, FONT_SIZE);
    this->addChild(label);
    ccColor3B color = { 226, 121, 7};
    label->setColor(color);

    // move the sprite from top to position
    CCPoint endPos = pSender->getPosition();
    if (pSender->getCharCount())
    {
        endPos.x += pSender->getContentSize().width / 2;
    }
    CCSize  inputTextSize = label->getContentSize();
    CCPoint beginPos(endPos.x, CCDirector::sharedDirector()->getWinSize().height - inputTextSize.height * 2); 

    float duration = 0.5;
    label->setPosition(beginPos);
    label->setScale(8);

    CCAction * seq = CCSequence::create(
        CCSpawn::create(
            CCMoveTo::create(duration, endPos),
            CCScaleTo::create(duration, 1),
            CCFadeOut::create(duration),
        0),
        CCCallFuncN::create(this, callfuncN_selector(TextFieldTTFActionTest::callbackRemoveNodeWhendidAction)),
        0);
    label->runAction(seq);
    return false;
}
Beispiel #4
0
void IOSStoreLayer::setLeftBgString(const char* charString)
{
	if (CCNode* pnode = m_pKaibaoxiangNode->getChildByTag(leftbg_tag))
	{
		CCLabelTTF* pLable = (CCLabelTTF*)pnode->getChildByTag(leftbg_string_tag);
		if (pLable)
		{
			pLable->setString(charString);
			if (m_enumComeFrom == from_SeasonSelector)
			{
				pLable->setPosition(ccp(pLable->getPositionX(), 198));
			}
			else if (m_enumComeFrom == from_MarketStore)
			{
				pLable->setPosition(ccp(pLable->getPositionX(), 188));
			}
		}
	}
}
Beispiel #5
0
// on "init" you need to initialize your instance
bool PPMainMenuLayer::init()
{
    bool bRet = false;
    do
    {
        //////////////////////////////////////////////////////////////////////////
        // super init first
        //////////////////////////////////////////////////////////////////////////

        CC_BREAK_IF(! CCLayerColor::initWithColor( ccc4(240, 235, 239, 255) ) );

        //////////////////////////////////////////////////////////////////////////

        CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();
        CCSize size = pEGLView->getVisibleSize();

        CCLabelTTF* label = CCLabelTTF::create("JELLY", "Consolas", 40);
        label->setColor( ccc3(0, 0, 0) );
        label->setAnchorPoint( ccp(0.5, 0.5) );
        label->setPosition( ccp(size.width / 2, size.height * 2 / 3) );
        addChild(label);

        PPCube* p = new PPCube( PPCube::PPCubeType_S );
        p->setAnchorPoint( ccp(0.5, 0.5) );
        p->setPosition( ccp( size.width / 2, (size.height * 2 / 3 - label->getContentSize().height) ) );
        addChild(p);
        p->release();

        label = CCLabelTTF::create("Play", "Consolas", 20);
        label->setColor( ccc3(0, 0, 0) );
        CCMenuItemLabel* pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(PPMainMenuLayer::MainMenuCallback));
        CCMenu* pMenu =CCMenu::create(pMenuItem, NULL);
        pMenu->setAnchorPoint( ccp(0.5, 0.5) );
        pMenu->setPosition( ccp(size.width / 2, size.height / 4) );
        addChild(pMenu);

        bRet = true;
    }
    while (0);

    return bRet;
}
Beispiel #6
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;
}
Beispiel #7
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);
    }
}
bool GameButton::initWithText(const char * text, bool isBig)
{
    if (!CCSprite::init()) {
        return false;
    }
    CCString* btnFrame = (isBig) ? CCString::create("button_big.png") : CCString::create("button_small.png");
    int fSize = 18 * Utils::getArtScaleFactor();
    this->setDisplayFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(btnFrame->getCString()));
    CCLabelTTF *label = CCLabelTTF::create(text, CCString::createWithFormat("%s.ttf",FONT_MAIN)->getCString(), fSize + isBig * fSize);
    label->setPosition(ccp(this->getContentSize().width/2,this->getContentSize().height/2));
    this->addChild(label,1);
    
    CCLabelTTF *labelShadow = CCLabelTTF::create(text, CCString::createWithFormat("%s.ttf",FONT_MAIN)->getCString(), fSize + isBig * fSize);
    labelShadow->setPosition(ccp(this->getContentSize().width/2 - (2 + isBig * 2),this->getContentSize().height/2));
    labelShadow->setColor(ccBLACK);
    labelShadow->setOpacity(150);
    this->addChild(labelShadow,0);
    
    this->setScale(Utils::getScale());

    return true;
}
Beispiel #9
0
void ArmatureTestLayer::onEnter()
{

    CCLayer::onEnter();

    // add title and subtitle
    std::string str = title();
    const char *pTitle = str.c_str();
    CCLabelTTF *label = CCLabelTTF::create(pTitle, "Arial", 18);
    label->setColor(ccc3(0, 0, 0));
    addChild(label, 1, 10000);
    label->setPosition( ccp(VisibleRect::center().x, VisibleRect::top().y - 30) );

    std::string strSubtitle = subtitle();
    if( ! strSubtitle.empty() )
    {
        CCLabelTTF *l = CCLabelTTF::create(strSubtitle.c_str(), "Arial", 18);
        l->setColor(ccc3(0, 0, 0));
        addChild(l, 1, 10001);
        l->setPosition( ccp(VisibleRect::center().x, VisibleRect::top().y - 60) );
    }

    // add menu
    backItem = CCMenuItemImage::create(s_pPathB1, s_pPathB2, this, menu_selector(ArmatureTestLayer::backCallback) );
    restartItem = CCMenuItemImage::create(s_pPathR1, s_pPathR2, this, menu_selector(ArmatureTestLayer::restartCallback) );
    nextItem = CCMenuItemImage::create(s_pPathF1, s_pPathF2, this, menu_selector(ArmatureTestLayer::nextCallback) );

    CCMenu *menu = CCMenu::create(backItem, restartItem, nextItem, NULL);

    menu->setPosition(CCPointZero);
    backItem->setPosition(ccp(VisibleRect::center().x - restartItem->getContentSize().width * 2, VisibleRect::bottom().y + restartItem->getContentSize().height / 2));
    restartItem->setPosition(ccp(VisibleRect::center().x, VisibleRect::bottom().y + restartItem->getContentSize().height / 2));
    nextItem->setPosition(ccp(VisibleRect::center().x + restartItem->getContentSize().width * 2, VisibleRect::bottom().y + restartItem->getContentSize().height / 2));

    addChild(menu, 100);

    setShaderProgram(CCShaderCache::sharedShaderCache()->programForKey(kCCShader_PositionTextureColor));

}
TestLayer2::TestLayer2()
{
    float x,y;

    CCSize size = CCDirector::sharedDirector()->getWinSize();
    x = size.width;
    y = size.height;

    CCSprite* bg1 = CCSprite::create(s_back2);
    bg1->setPosition( ccp(size.width/2, size.height/2) );
    addChild(bg1, -1);

    CCLabelTTF* title = CCLabelTTF::create((transitions[s_nSceneIdx]).c_str(), "Thonburi", 32 );
    addChild(title);
    title->setColor( ccc3(255,32,32) );
    title->setPosition( ccp(x/2, y-100) );

    CCLabelTTF* label = CCLabelTTF::create("SCENE 2", "Marker Felt", 38);
    label->setColor( ccc3(16,16,255));
    label->setPosition( ccp(x/2,y/2));    
    addChild( label);

    // menu
    CCMenuItemImage *item1 = CCMenuItemImage::create(s_pPathB1, s_pPathB2, this, menu_selector(TestLayer2::backCallback) );
    CCMenuItemImage *item2 = CCMenuItemImage::create(s_pPathR1, s_pPathR2, this, menu_selector(TestLayer2::restartCallback) );
    CCMenuItemImage *item3 = CCMenuItemImage::create(s_pPathF1, s_pPathF2, this, menu_selector(TestLayer2::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(TestLayer2::step), 1.0f);
}
Beispiel #11
0
TestLayer2::TestLayer2()
{
    float x,y;

    CCSize size = CCDirector::sharedDirector()->getWinSize();
    x = size.width;
    y = size.height;

    CCSprite* bg1 = CCSprite::spriteWithFile(s_back2);
    bg1->setPosition( CCPointMake(size.width/2, size.height/2) );
    addChild(bg1, -1);

    CCLabelTTF* title = CCLabelTTF::labelWithString((transitions[s_nSceneIdx]).c_str(), "Thonburi", 32 );
    addChild(title);
    title->setColor( ccc3(255,32,32) );
    title->setPosition( CCPointMake(x/2, y-100) );

    CCLabelTTF* label = CCLabelTTF::labelWithString("SCENE 2", "Marker Felt", 38);
    label->setColor( ccc3(16,16,255));
    label->setPosition( CCPointMake(x/2,y/2));	
    addChild( label);

    // menu
    CCMenuItemImage *item1 = CCMenuItemImage::itemFromNormalImage(s_pPathB1, s_pPathB2, this, menu_selector(TestLayer2::backCallback) );
    CCMenuItemImage *item2 = CCMenuItemImage::itemFromNormalImage(s_pPathR1, s_pPathR2, this, menu_selector(TestLayer2::restartCallback) );
    CCMenuItemImage *item3 = CCMenuItemImage::itemFromNormalImage(s_pPathF1, s_pPathF2, this, menu_selector(TestLayer2::nextCallback) );

    CCMenu *menu = CCMenu::menuWithItems(item1, item2, item3, NULL);

    menu->setPosition( CCPointZero );
    item1->setPosition( CCPointMake( x/2 - 100,30) );
    item2->setPosition( CCPointMake( x/2, 30) );
    item3->setPosition( CCPointMake( x/2 + 100,30) );

    addChild(menu, 1);	

    schedule(schedule_selector(TestLayer2::step), 1.0f);
}
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;
}
Beispiel #13
0
bool GameOverLayer::init()
{
    if( !CCLayer::init() )
        return false;
    
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();
    
    // add game over text in the middle of the screen with red color
    CCLabelTTF *gameOverLabel = CCLabelTTF::create("GAME OVER", "Thonburi", 50);
    gameOverLabel->setColor( ccc3(255, 0, 0) );
    gameOverLabel->setPosition( ccp(winSize.width / 2, winSize.height / 2 + 50) );
    this->addChild(gameOverLabel);
    
    // add instruction below the game over text
    CCLabelTTF *infoLabel = CCLabelTTF::create("touch to continue", "Thonburi", 20);
    infoLabel->setColor( ccc3(255, 255, 255) );
    infoLabel->setPosition( ccp(winSize.width / 2, winSize.height / 2 - 20) );
    this->addChild(infoLabel);
    
    this->setTouchEnabled(true);
    
    return true;
}
Beispiel #14
0
void CreatModeDisplayLayer::setResult(bool state,std::string name, double value)
{
    CCLabelTTF *creatStateLabel;
    if(!state)
    {
        creatStateLabel = CCLabelTTF::create("创造失败T T","DFGirlKelvin",60);
        creatStateLabel->setPosition(ccp(320,500));
        this->addChild(creatStateLabel,2);
    }
    else
    {
        creatStateLabel = CCLabelTTF::create("创造成功^ ^","DFGirlKelvin",60);
        creatStateLabel->setPosition(ccp(320,500));
        this->addChild(creatStateLabel,2);
        
        char buffer[30];
        sprintf(buffer, "恭喜你创造出 %s",name.c_str());
        CCLabelTTF *creatResult = CCLabelTTF::create(buffer,"DFGirlKelvin",40);
        creatStateLabel->setPosition(ccp(320,300));
        this->addChild(creatResult,2);
        
        sprintf(buffer, "hasCreated-%s",name.c_str());
        if(!CCUserDefault::sharedUserDefault()->getBoolForKey(buffer))
        {
            CCUserDefault::sharedUserDefault()->setBoolForKey(buffer,true);
            
            sprintf(buffer, "%s 加入图鉴",name.c_str());
            CCLabelTTF *addLabel = CCLabelTTF::create(buffer,"DFGirlKelvin",40);
            addLabel->setPosition(ccp(320,200));
            this->addChild(addLabel,2);
        }
        
        int num = CCUserDefault::sharedUserDefault()->getIntegerForKey(name.c_str()) + 1;
        CCUserDefault::sharedUserDefault()->setIntegerForKey(name.c_str(), num);
    }
    
}
    bool TitleBarLayer::init() {
        bool result = false;
        do {
            CC_BREAK_IF(!CCLayer::init());
            
            CCSize winSize = CCDirector::sharedDirector()->getWinSize();
            
            CCSprite* titlebar = CCSprite::spriteWithSpriteFrameName("title_start");
            CC_BREAK_IF(!titlebar);
            titlebar->setPosition(CCPointMake(winSize.width * 0.5f, titlebar->getContentSize().height * 0.5f));
            addChild(titlebar);
            

            
            CCLabelTTF* descLabel = CCLabelTTF::labelWithString("", 
                                                                CCSizeMake(238.0f, 50.0f), 
                                                                CCTextAlignmentLeft, 
                                                                "Arial", 
                                                                12.0f);
            descLabel->setPosition(CCPointMake(190.0f, 55.0f));
            descLabel->setColor(ccWHITE);
            addChild(descLabel,kZLabel,kTagDescriptLabel);
            

            
            CCPoint turnPosition = CCPointMake(34.0f,40.0f);
            CCLabelTTF* turnLabel = CCLabelTTF::labelWithString("", "Arial-BoldMT", 24.0f);
            turnLabel->setPosition(turnPosition);
            turnLabel->setColor(ccBLACK);
            addChild(turnLabel,kZLabel,kTagTurnLabel);
            
            
            result = true;
        } while (0);
        return result;
    }
void Store::powerupButtonTapped(CCObject*object)
{
 //   if([PeanutsPopup isActive])return;
    
    AudioManager::PlayEffect(AUDIO_SELECT);
    
    CCNode *buttonNode = (CCNode*)object;
    //CGPoint position = [buttonNode convertToWorldSpace:ccp(0,0)];
    //if(position.y>190.0f || position.y < -5.0f)return;
    
    //[self doItemSelect:sender];
    
    for(int i = 0; i < NUM_POWERUP_ITEMS; i++)
    {
        if(m_PowerUpbuttons[i] == buttonNode)
        {
            CCSize dim;
            dim.width = 200.0f;
            dim.height = 25.0f;
            m_PowerUpNames[i]->removeFromParentAndCleanup(true);

            if(i==0)
            {
                //fire
                if(SaveLoad::m_SaveData.currency >= s_PowerUpItemCost[i])
                {
                    SaveLoad::m_SaveData.numLevelFire++;
                    SaveLoad::m_SaveData.currency -= s_PowerUpItemCost[i];
                    
                    char labelString[32];
                    sprintf(labelString, "%s(%d)",s_PowerUpItemName[i],SaveLoad::m_SaveData.numLevelFire);
                    
                    CCLabelTTF* label = CCLabelTTF::create(labelString,"Jacoby ICG Black.ttf",20,dim,kCCTextAlignmentLeft);
                    label->setColor(ccc3(237,188,0));
                    label->setPosition(ccp(NAME_X,NAME_Y));
                    
                    buttonNode->addChild(label);
                    m_PowerUpNames[i] = label;
                }
                else
                {
                    //[self addChild:[PeanutsPopup node]];
                }
            }
            else if (i==1)
            {
                //slow clock
                if(SaveLoad::m_SaveData.currency >= s_PowerUpItemCost[i])
                {
                    SaveLoad::m_SaveData.numTimeSlow++;
                    SaveLoad::m_SaveData.currency -= s_PowerUpItemCost[i];
                    
                    
                    char labelString[32];
                    sprintf(labelString, "%s(%d)",s_PowerUpItemName[i],SaveLoad::m_SaveData.numTimeSlow);
                    
                    
                    CCLabelTTF* label = CCLabelTTF::create(labelString,"Jacoby ICG Black.ttf",20,dim,kCCTextAlignmentLeft);
                    label->setColor(ccc3(237,188,0));
                    label->setPosition(ccp(NAME_X,NAME_Y));
                    
                    buttonNode->addChild(label);
                    m_PowerUpNames[i] = label;
                }
                else
                {
                    //[self addChild:[PeanutsPopup node]];
                }
            }
            else
            {
                //peanuts
                if(SaveLoad::m_SaveData.currency >= s_PowerUpItemCost[i])
                {
                    SaveLoad::m_SaveData.numDoubleNuts++;
                    SaveLoad::m_SaveData.currency -= s_PowerUpItemCost[i];
                    
                    
                    char labelString[32];
                    sprintf(labelString, "%s(%d)",s_PowerUpItemName[i],SaveLoad::m_SaveData.numDoubleNuts);
                    
                    CCLabelTTF* label = CCLabelTTF::create(labelString,"Jacoby ICG Black.ttf",20,dim,kCCTextAlignmentLeft);
                    label->setColor(ccc3(237,188,0));
                    label->setPosition(ccp(NAME_X,NAME_Y));
                    
                    buttonNode->addChild(label);
                    m_PowerUpNames[i] = label;
                }
                else
                {
                    //[self addChild:[PeanutsPopup node]];
                }
            }
            SaveLoad::Save();
        }
    }
}
void Store::BuildBikes(cocos2d::CCMenu* menu)
{
    float scale = ScreenHelper::getTextureScale();
    
	CCMenuItemImage *topBar = CCMenuItemImage::create("ctm_UI_TransparentButton.png","ctm_UI_TransparentButton.png",this,menu_selector(Store::nullButtonTapped));
	
    topBar->setScale(scale);
    CCLabelTTF* label1 = CCLabelTTF::create("BIKES","Jacoby ICG Black.ttf",20);
    label1->setColor(ccc3(43,197,231));
	label1->setPosition(ccp(-170+CATEGORY_OFFSET,17));
	topBar->addChild(label1);
    
	menu->addChild(topBar);
    
	for(int i = 0; i < NUM_BIKE_ITEMS; i++)
	{
        CCMenuItem *temp = CCMenuItemImage::create("ctm_Store_GrayStrip.png","ctm_Store_GrayStrip.png","ctm_Store_LitStrip.png",this,menu_selector(Store::bikeButtonTapped) );
		
        CCSprite *sprite = CCSprite::createWithSpriteFrameName(s_BikeItemImg[i]);
		sprite->setPosition(ccp(ICON_X,ICON_Y));
		temp->addChild(sprite);
		
        CCSize dim;
        dim.width = 200.0f;
        dim.height = 25.0f;
        
        CCLabelTTF *label = CCLabelTTF::create(s_BikeItemName[i],"Jacoby ICG Black.ttf",20,dim,kCCTextAlignmentLeft);
        label->setColor(ccc3(237,188,0));
        label->setPosition(ccp(NAME_X,NAME_Y));
        temp->addChild(label);
        
		const char *status = NULL;
        if(SaveLoad::m_SaveData.bikes[i] & SaveLoad::SELECTED)
            status = "Selected";
        else if(SaveLoad::m_SaveData.bikes[i] & SaveLoad::UNLOCKED)
		    status = "Unlocked";
        else
            status = "Locked";
        
        dim.width = 400.0f;
        dim.height = 18.0f;
        label = CCLabelTTF::create(status,"Jacoby ICG Black.ttf",15,dim,kCCTextAlignmentLeft);
        label->setColor(ccc3(230,230,230));
        label->setPosition(ccp(DESC_X,DESC_Y));
        temp->addChild(label,0,15);
        
        m_BikeDescriptions[i] = label;
		
        if(SaveLoad::m_SaveData.bikes[i]==0)
        {
            //CGSize dim;
            dim.width = 50.0f;
            dim.height = 20.0f;
            
            char currencyStr[32];
            sprintf(currencyStr,"$%d",s_BikeItemCost[i]);
            
            CCLabelBMFont *BMfontLabel = CCLabelBMFont::create(currencyStr,"JacobyICGBlack18pnt.fnt");
            BMfontLabel->setAnchorPoint(ccp(1.0f,0.5f));
            BMfontLabel->setPosition(ccp(COST_X,COST_Y));
            temp->addChild(BMfontLabel,0,42);
		}
		
        temp->setScale(scale);
        
		menu->addChild(temp);
        m_Bikebuttons[i] = temp;
	}
	
    //add a bottom bar to push things up
    topBar = CCMenuItemImage::create("ctm_UI_TransparentButton.png","ctm_UI_TransparentButton.png",this,menu_selector(Store::nullButtonTapped));
    topBar->setScale(scale);
	menu->addChild(topBar);
}
void Store::BuildPowerUps(cocos2d::CCMenu* menu)
{
    float scale = ScreenHelper::getTextureScale();
    
	CCMenuItemImage *topBar = CCMenuItemImage::create("ctm_UI_TransparentButton.png","ctm_UI_TransparentButton.png",this,menu_selector(Store::nullButtonTapped));
	
    topBar->setScale(scale);
    CCLabelTTF* label1 = CCLabelTTF::create("POWERUPS","Jacoby ICG Black.ttf",20);
    label1->setColor(ccc3(43,197,231));
	label1->setPosition(ccp(-148+CATEGORY_OFFSET,17));
	topBar->addChild(label1);
    
    
	menu->addChild(topBar);
	
	for(int i = 0; i < NUM_POWERUP_ITEMS; i++)
	{
        CCMenuItem *temp = CCMenuItemImage::create("ctm_Store_GrayStrip.png","ctm_Store_GrayStrip.png","ctm_Store_LitStrip.png",this,menu_selector(Store::powerupButtonTapped) );
        
		
		CCSprite *sprite = CCSprite::createWithSpriteFrameName(s_PowerUpItemImg[i]);
		sprite->setPosition(ccp(ICON_X,ICON_Y));
		temp->addChild(sprite);

        char labelString[32];
        if(i==0)
        {
            if(SaveLoad::m_SaveData.numLevelFire)
                sprintf(labelString,"%s(%d)",s_PowerUpItemName[i],SaveLoad::m_SaveData.numLevelFire);
            else
                sprintf(labelString,"%s",s_PowerUpItemName[i]);
        }
        if(i==1)
        {
            if(SaveLoad::m_SaveData.numTimeSlow)
                sprintf(labelString,"%s(%d)",s_PowerUpItemName[i],SaveLoad::m_SaveData.numTimeSlow);
            else
                sprintf(labelString,"%s",s_PowerUpItemName[i]);
        }
        if(i==2)
        {
            if(SaveLoad::m_SaveData.numDoubleNuts)
                sprintf(labelString,"%s(%d)",s_PowerUpItemName[i],SaveLoad::m_SaveData.numDoubleNuts);
            else
                sprintf(labelString,"%s",s_PowerUpItemName[i]);
        }
        
        CCSize dim;
        dim.width = 200.0f;
        dim.height = 25.0f;
        
        
        CCLabelTTF *label = CCLabelTTF::create(labelString,"Jacoby ICG Black.ttf",20,dim,kCCTextAlignmentLeft);
        label->setColor(ccc3(237,188,0));
        label->setPosition(ccp(NAME_X,NAME_Y));
        temp->addChild(label);
        
        m_PowerUpNames[i] = label;
        
        dim.width = 400.0f;
        dim.height = 18.0f;
        label = CCLabelTTF::create(s_PowerUpItemDesc[i],"Jacoby ICG Black.ttf",15,dim,kCCTextAlignmentLeft);
        label->setColor(ccc3(230,230,230));
        label->setPosition(ccp(DESC_X,DESC_Y));
        temp->addChild(label,0,15);
        
		//CGSize dim;
		dim.width = 50.0f;
		dim.height = 20.0f;
        
        char currencyStr[32];
        sprintf(currencyStr,"$%d",s_PowerUpItemCost[i]);
        
        CCLabelBMFont *BMfontLabel = CCLabelBMFont::create(currencyStr,"JacobyICGBlack18pnt.fnt");
        BMfontLabel->setAnchorPoint(ccp(1.0f,0.5f));
        BMfontLabel->setPosition(ccp(COST_X,COST_Y));
		temp->addChild(BMfontLabel);
		
        temp->setScale(scale);
		
		menu->addChild(temp);
        m_PowerUpbuttons[i] = temp;
	}
	
}
void Store::BuildUpgrades(cocos2d::CCMenu* menu)
{
    float scale = ScreenHelper::getTextureScale();
    
	CCMenuItemImage *topBar = CCMenuItemImage::create("ctm_UI_TransparentButton.png","ctm_UI_TransparentButton.png",this,menu_selector(Store::nullButtonTapped));
	
    topBar->setScale(scale);
    CCLabelTTF* label1 = CCLabelTTF::create("UPGRADES","Jacoby ICG Black.ttf",20);
    label1->setColor(ccc3(43,197,231));
	label1->setPosition(ccp(-150+CATEGORY_OFFSET,17));
	topBar->addChild(label1);
    
	menu->addChild(topBar);
	int unlockLevel[NUM_UPGRADE_ITEMS];
    unlockLevel[0] = SaveLoad::m_SaveData.turboLockLevel;
    unlockLevel[1] = SaveLoad::m_SaveData.trampLockLevel;
    unlockLevel[2] = SaveLoad::m_SaveData.timeLockLevel;
    unlockLevel[3] = SaveLoad::m_SaveData.peanutLockLevel;
    unlockLevel[4] = SaveLoad::m_SaveData.trickLockLevel;
    unlockLevel[5] = SaveLoad::m_SaveData.flipLockLevel;
    unlockLevel[6] = SaveLoad::m_SaveData.fireLockLevel;
	
	for(int i = 0; i < NUM_UPGRADE_ITEMS; i++)
	{
		CCMenuItem *temp = CCMenuItemImage::create("ctm_Store_GrayStrip.png","ctm_Store_GrayStrip.png","ctm_Store_LitStrip.png",this,menu_selector(Store::buyUpgradeButtonTapped) );
        
        CCSprite *sprite;
        
        sprite = CCSprite::create("ctm_Store_PurchaseBars.png");
        sprite->setPosition(ccp(POWER_UP_BAR_OFFSET+302-120,POWER_UP_BAR_OFFSET_Y+21));
        temp->addChild(sprite);
        
		if(unlockLevel[i]>=1)
        {
            sprite = CCSprite::create("ctm_Store_LitPurchaseBar.png");
            sprite->setPosition(ccp(POWER_UP_BAR_OFFSET+290-120,POWER_UP_BAR_OFFSET_Y+20));
            temp->addChild(sprite);
		}
		if(unlockLevel[i]>=2)
        {
            sprite = CCSprite::create("ctm_Store_LitPurchaseBar.png");
            sprite->setPosition(ccp(POWER_UP_BAR_OFFSET+305-120,POWER_UP_BAR_OFFSET_Y+20));
            temp->addChild(sprite);
        }
		if(unlockLevel[i]>=3)
        {
            sprite = CCSprite::create("ctm_Store_LitPurchaseBar.png");
            sprite->setPosition(ccp(POWER_UP_BAR_OFFSET+320-120,POWER_UP_BAR_OFFSET_Y+20));
            temp->addChild(sprite);
		}
		sprite = CCSprite::createWithSpriteFrameName(s_UpgradeItemImg[i]);
		sprite->setPosition(ccp(ICON_X,ICON_Y));
		temp->addChild(sprite);
        
        CCSize dim;
        dim.width = 200.0f;
        dim.height = 25.0f;
        
        CCLabelTTF *label = CCLabelTTF::create(s_UpgradeItemName[i],"Jacoby ICG Black.ttf",20,dim,kCCTextAlignmentLeft);
        label->setColor(ccc3(237,188,0));
        label->setPosition(ccp(NAME_X,NAME_Y));
        temp->addChild(label);
        
		
        dim.width = 400.0f;
        dim.height = 18.0f;
        label = CCLabelTTF::create(s_UpgradeItemDesc[i][unlockLevel[i]],"Jacoby ICG Black.ttf",15,dim,kCCTextAlignmentLeft);
        label->setColor(ccc3(230,230,230));        
        label->setPosition(ccp(DESC_X,DESC_Y));
        temp->addChild(label,0,15);
        
        
		//CGSize dim;
		dim.width = 50.0f;
		dim.height = 20.0f;
        char currencyStr[32];
        if(s_UpgradeItemCost[i][unlockLevel[i]] > 0)
            sprintf(currencyStr,"$%d",s_UpgradeItemCost[i][unlockLevel[i]]);
        else
            sprintf(currencyStr,"Max");
        
        CCLabelBMFont *BMfontLabel = CCLabelBMFont::create(currencyStr,"JacobyICGBlack18pnt.fnt");
        BMfontLabel->setAnchorPoint(ccp(1.0f,0.5f));
        BMfontLabel->setPosition(ccp(COST_X,COST_Y));
        m_UpgradeCosts[i] = BMfontLabel;
		temp->addChild(BMfontLabel);
		
        temp->setScale(scale);
		menu->addChild(temp);
        
        m_UpgradeButtons[i] = temp;
	}
}
// initialize your instance here
Store::Store()
{
	
    //SaveLoad::m_SaveData.currency = 300000;
    //SaveLoad::SaveGame();
    // enable touches
    setTouchEnabled( true );
    
    float scale = ScreenHelper::getTextureScale();
    float scaleX = ScreenHelper::getTextureScaleX();
    float scaleY = ScreenHelper::getTextureScaleY();
    
    CCTextureCache::sharedTextureCache()->addPVRImage("ctm_Buttons.pvr.ccz");
    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ctm_Buttons.plist");
    
    CCTextureCache::sharedTextureCache()->addPVRImage("ctm_Icons.pvr.ccz");
    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ctm_Icons.plist");
    
    CCSprite *sprite = CCSprite::create("MainBackFiller.png");
    sprite->setScaleX(scaleX*1.2f);
    sprite->setScaleY(scaleY*1.2f);
    sprite->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER,0.0f,-32.0f));
    addChild(sprite);
    
    sprite = CCSprite::create("ctm_UI_topOverlayA_ver1.png");
    sprite->setScaleX(scaleX);
    sprite->setScaleY(scaleY);
    sprite->setPosition(ScreenHelper::getAnchorPoint(ScreenHelper::ANCHOR_CENTER));
    addChild(sprite,2);
    
    CCLabelTTF *label = CCLabelTTF::create("STORE", "impact.ttf", 42*scale);
    addChild(label, 2);
    label->setColor(ccc3(0,0,0));
    label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_TOP_CENTER,2.0f,-52.0f));
    
    label = CCLabelTTF::create("STORE", "impact.ttf", 42*scale);
    addChild(label, 2);
    label->setColor(ccc3(237,188,0));
    label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_TOP_CENTER,0.0f,-50.0f));
    
    CCMenuItem *BackButton = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("ctm_Back_Button.png"), CCSprite::createWithSpriteFrameName("ctm_Back_Button_Down.png"), this, menu_selector(Store::backButtonTapped));
    BackButton->setScale(scale);
    BackButton->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_TOP_LEFT,50.0f,-50.0f));
    ReturnButton = BackButton;
    
   
    CCSprite *spritePeanut = CCSprite::createWithSpriteFrameName("ctm_UI_Peanuts_Btn_ver1.png");
    CCSprite *spritePeanutDown = CCSprite::createWithSpriteFrameName("ctm_UI_Peanuts_Btn_Down.png");
    sprite = CCSprite::createWithSpriteFrameName("ctm_UI_PeanutsGlow_Btn_ver1.png");
    sprite->setPosition(ccp(136/2, 104/2));
    spritePeanut->addChild(sprite);
        
    CCMenuItem *PeanutsButton = CCMenuItemSprite::create(spritePeanut,spritePeanutDown,this,menu_selector(Store::peanutButtonTapped));
    
    PeanutsButton->setScale(scale);
    PeanutsButton->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_BOTTOM_LEFT,90.0f,130.0f));
    
    CCMenu* backmenu = CCMenu::create(BackButton, NULL);
    backmenu->setPosition(ScreenHelper::getAnchorPoint(ScreenHelper::ANCHOR_BOTTOM_LEFT));
    addChild(backmenu,4);
    
    m_slideControl = CCNode::create();
    addChild(m_slideControl);
    
    CCMenu* peanutmenu = CCMenu::create(PeanutsButton, NULL);
    peanutmenu->setPosition(ScreenHelper::getAnchorPoint(ScreenHelper::ANCHOR_BOTTOM_LEFT));
    m_slideControl->addChild(peanutmenu,4);
    
    
    CCScrollingMenu *screenMenu = CCScrollingMenu::create();
    screenMenu->setPosition(0,0);
    
    BuildUpgrades(screenMenu);
    BuildPowerUps(screenMenu);
    BuildCharacters(screenMenu);
    BuildBikes(screenMenu);
  
    screenMenu->alignItemsVerticallyWithPadding(-10*scaleY);
    CCSize viewSize;
    viewSize.width = 320.0f*scaleX;
    viewSize.height = 1450.0f*scaleY/(scaleY/scale);
    CCScrollView *scrollView = CCScrollView::create(viewSize,screenMenu);
    //scrollView->setBounceable(false);
    //temp = ComingSoonButton->getPositionX()/scaleX-480.0f;
    //temp += (ComingSoonButton->getContentSize().width)/scale;
    scrollView->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_BOTTOM_LEFT,160,275.0f*(scaleY/scale)-(viewSize.height/((scaleY+scale)/2.0f))/2.0f));
    scrollView->setContentSize(screenMenu->getContentSize());
    
    scrollView->setContentOffset(ccp(312.0f/2.0f*scaleX,0.0f));
    scrollView->setDirection(kCCScrollViewDirectionVertical);
    
    m_slideControl->addChild(scrollView);

    
    char currencyStr[32];
    sprintf(currencyStr,"$%d",SaveLoad::m_SaveData.currency);
    
    CCSize dim;
    dim.width = 100.0f;
    dim.height = 25.0f;
    
    m_currency = CCLabelBMFont::create(currencyStr,"JacobyICGBlack22pnt.fnt");
    m_currency->setScale(scale);
    m_currency->setAnchorPoint(ccp(1.0f,0.5f));
    m_currency->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_BOTTOM_LEFT,456, 238));
    addChild(m_currency,10);
    
    
    if(SaveLoad::m_SaveData.beenToStore==0)
    {
        SaveLoad::m_SaveData.beenToStore=1;
        SaveLoad::Save();
    //    [TestFlight passCheckpoint:@"STORE_VISIT"];
    }
    
    scheduleUpdate();
}
void Store::bikeButtonTapped(CCObject*object)
{
    //if([PeanutsPopup isActive])return;
    
    AudioManager::PlayEffect(AUDIO_SELECT);
    
    CCNode *buttonNode = (CCNode*)object;
    //CGPoint position = [buttonNode convertToWorldSpace:ccp(0,0)];
    //if(position.y>190.0f || position.y < -5.0f)return;
    
    //[self doItemSelect:sender];
    
    CCSize dim;
    for(int i = 0; i < NUM_BIKE_ITEMS; i++)
    {
        if(m_Bikebuttons[i] == buttonNode)
        {
            if(SaveLoad::m_SaveData.bikes[i] & SaveLoad::SELECTED)
                return;
            if(SaveLoad::m_SaveData.bikes[i] & SaveLoad::UNLOCKED)
            {
                for(int j = 0; j < NUM_BIKE_ITEMS; j++)
                {
                    if(SaveLoad::m_SaveData.bikes[j] & SaveLoad::SELECTED)
                    {
                        m_BikeDescriptions[j]->removeFromParentAndCleanup(true);
                        
                        dim.width = 400.0f;
                        dim.height = 18.0f;
                        CCLabelTTF* label = CCLabelTTF::create("Unlocked","Jacoby ICG Black.ttf",15,dim,kCCTextAlignmentLeft);
                        label->setColor(ccc3(230,230,230));
                        label->setPosition(ccp(DESC_X,DESC_Y));
                        
                        m_Bikebuttons[j]->addChild(label);
                        m_BikeDescriptions[j] = label;
                        
                        SaveLoad::m_SaveData.bikes[j] &= ~SaveLoad::SELECTED;
                    }
                }
                
                m_BikeDescriptions[i]->removeFromParentAndCleanup(true);
                
                dim.width = 400.0f;
                dim.height = 18.0f;
                CCLabelTTF* label = CCLabelTTF::create("Selected","Jacoby ICG Black.ttf",15,dim,kCCTextAlignmentLeft);
                label->setColor(ccc3(230,230,230));
                label->setPosition(ccp(DESC_X,DESC_Y));
                
                m_Bikebuttons[i]->addChild(label);
                m_BikeDescriptions[i] = label;
                SaveLoad::m_SaveData.bikes[i] |= SaveLoad::SELECTED;
            }
            else
            {
                if(SaveLoad::m_SaveData.currency >= s_BikeItemCost[i])
                {
                    for(int j = 0; j < NUM_BIKE_ITEMS; j++)
                    {
                        if(SaveLoad::m_SaveData.bikes[j] & SaveLoad::SELECTED)
                        {
                            m_BikeDescriptions[j]->removeFromParentAndCleanup(true);
                            
                            dim.width = 400.0f;
                            dim.height = 18.0f;
                            CCLabelTTF* label = CCLabelTTF::create("Unlocked","Jacoby ICG Black.ttf",15,dim,kCCTextAlignmentLeft);
                            label->setColor(ccc3(230,230,230));
                            label->setPosition(ccp(DESC_X,DESC_Y));
                            
                            m_Bikebuttons[j]->addChild(label);
                            m_BikeDescriptions[j] = label;
                            
                            SaveLoad::m_SaveData.bikes[j] &= ~SaveLoad::SELECTED;
                        }
                    }
                    SaveLoad::m_SaveData.bikes[i] |= SaveLoad::UNLOCKED;
                    SaveLoad::m_SaveData.bikes[i] |= SaveLoad::SELECTED;
                    SaveLoad::m_SaveData.currency -= s_BikeItemCost[i];
                    m_Bikebuttons[i]->getChildByTag(42)->removeFromParentAndCleanup(true);
                    
                    m_BikeDescriptions[i]->removeFromParentAndCleanup(true);
                    
                    dim.width = 400.0f;
                    dim.height = 18.0f;
                    CCLabelTTF* label = CCLabelTTF::create("Selected","Jacoby ICG Black.ttf",15,dim,kCCTextAlignmentLeft);
                    label->setColor(ccc3(230,230,230));
                    label->setPosition(ccp(DESC_X,DESC_Y));
                    m_Bikebuttons[i]->addChild(label);
                    m_BikeDescriptions[i] = label;
                }
                else
                {
//                    [self addChild:[PeanutsPopup node]];
                }
            }
            SaveLoad::Save();
        }
    }
}
Beispiel #22
0
CCLayer* PowerQuest::getDescLayer()  {
    CCLayer* layer = CCLayer::create();
    CCLabelTTF* descTitle = CCLabelTTF::create("任务简报:","Arial",25);
    descTitle->setAnchorPoint(ccp(0,0.5));
    descTitle->setPosition(ccp(25,360));
    descTitle->setColor(ccc3(255,120,0));
    
    CCLabelTTF* desc = CCLabelTTF::create(GXUtil::insertNewline(getDescStr()->getCString(),15).c_str(),"Arial",23,CCSizeZero, kCCTextAlignmentLeft, kCCVerticalTextAlignmentTop);
    desc->setAnchorPoint(ccp(0,1));
    desc->setPosition(ccp(25,340));
    desc->setColor(ccc3(230, 207, 185));
    
    CCLabelTTF* destTitle = CCLabelTTF::create("任务目标:","Arial",25);
    destTitle->setAnchorPoint(ccp(0,1));
    destTitle->setPosition(ccp(25,337-desc->getContentSize().height));
    destTitle->setColor(ccc3(255,120,0));
    char str[100] = {0};
    int i=0;
    for (i=0; i<costResourceTagList->count(); i++) {
        int costTag = ((GXintValue*)costResourceTagList->objectAtIndex(i))->getValue();
        int costCount = ((GXintValue*)costResourceCountList->objectAtIndex(i))->getValue();
        
        CCSprite* tixing;
        if (MyGameInfo::getInstance()->getResource(costTag) >= costCount ) {
            sprintf(str,"  [已完成] 需消耗%d",costCount);
            tixing = CCSprite::createWithSpriteFrameName("questAppear.png");
            tixing->setScale(0.45);
            tixing->setPosition(ccp(55,293-desc->getContentSize().height-i*32));
            tixing->runAction(CCRepeatForever::create(static_cast<CCSequence*>(CCSequence::create(CCScaleTo::create(1, 0.5), CCScaleTo::create(1,0.45),NULL) )));
        } else {
            sprintf(str,"  [未完成] 需消耗%d",costCount);
            tixing = CCSprite::createWithSpriteFrameName("questQuestion.png");
            tixing->setScale(0.45);
            tixing->setPosition(ccp(55,293-desc->getContentSize().height-i*32));
        }
        
        
        CCLabelTTF* dest = CCLabelTTF::create(str,"Arial",23);
        dest->setAnchorPoint(ccp(0,1));
        dest->setPosition(ccp(25,305-desc->getContentSize().height-i*32));
        dest->setColor(ccc3(230, 207, 185));
        
        CCSprite* icon = MyUtil::getInstance()->getResourceIcon(costTag);
        icon->setScale(Mathlib::min(32/icon->getContentSize().width,32/icon->getContentSize().height));
        icon->setPosition(ccp(35+dest->getContentSize().width,293-desc->getContentSize().height-i*32));
        
        
        
        layer->addChild(dest);
        layer->addChild(icon);
        layer->addChild(tixing);
        
        
    }
    
    if(deadLine > 0) {
        struct cc_timeval now;
        CCTime::gettimeofdayCocos2d(&now, NULL);
        
        CCSprite* tixing1;
        if (now.tv_sec <= deadLine/1000 ) {
            sprintf(str,"  需在『%s』之前完成",getdeadLineLabel()->getCString());
            tixing1 = CCSprite::createWithSpriteFrameName("questAppear.png");
            tixing1->setScale(0.45);
            tixing1->setPosition(ccp(55,293-desc->getContentSize().height-i*32));
            tixing1->runAction(CCRepeatForever::create(static_cast<CCSequence*>(CCSequence::create(CCScaleTo::create(1, 0.5), CCScaleTo::create(1,0.45),NULL) )));
        } else {
            sprintf(str,"  已经超过『%s』,无法完成",getdeadLineLabel()->getCString());
            tixing1 = CCSprite::createWithSpriteFrameName("questQuestion.png");
            tixing1->setScale(0.45);
            tixing1->setPosition(ccp(55,293-desc->getContentSize().height-i*32));
        }
        
        
        CCLabelTTF* dest1 = CCLabelTTF::create(str,"Arial",23);
        dest1->setAnchorPoint(ccp(0,1));
        dest1->setPosition(ccp(25,305-desc->getContentSize().height-i*32));
        dest1->setColor(ccc3(230, 207, 185));
        
        layer->addChild(dest1);
        layer->addChild(tixing1);
    }
    
    
    layer->addChild(descTitle);
    layer->addChild(desc);
    layer->addChild(destTitle);

    return layer;
}
bool MPMapLayer::init()
{
    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
    
	// Exit button
    
    CCMenuItemImage *backItem = CCMenuItemImage::create(
                                                        "CloseNormal.png",
                                                        "CloseSelected.png",
                                                        this,
                                                        menu_selector(MPMapLayer::titleCallback));
    
	backItem->setPosition(ccp(origin.x + visibleSize.width - backItem->getContentSize().width/2 ,
                              origin.y + backItem->getContentSize().height/2));
    
    CCMenu* menu = CCMenu::create(backItem, NULL);
    menu->setPosition(CCPointZero);
    this->addChild(menu, 1);
    
	// Screen Title
    
    CCLabelTTF* label = CCLabelTTF::create("A Map Scene", "Arial", TITLE_FONT_SIZE);
    label->setPosition(ccp(origin.x + visibleSize.width/2,
                           origin.y + visibleSize.height - label->getContentSize().height));
    this->addChild(label, 1);
    
	// Tile Map
    
    //	CCTMXTiledMap *map = CCTMXTiledMap::create("MP_map/desert.tmx");
	CCTMXTiledMap *map = CCTMXTiledMap::create("andrew_map/andrew_tilemap.tmx");
    this->addChild(map, 0);

    MPMapLayer::antiAliasMap(map);
        
    map->setAnchorPoint(ccp(.5, .5));
    map->setPosition(ccp(visibleSize.width * .5, visibleSize.height * .5));
    map->setScale(.5);


    CCTMXLayer* layer = map->layerNamed("Background");
    assert(layer != NULL);
	
	CCTMXObjectGroup *objectGroup = map->objectGroupNamed("SpawnPointLayer");
	assert(objectGroup != NULL);
	CCSize mapSize = map->getContentSize();
	float mapHeight = mapSize.height;
	float mapWidth = mapSize.width;
	
	player = CCSprite::create("andrew_map/Player.png");
	CCDictionary *spawnPoint = objectGroup->objectNamed("SpawnPoint");
	
	map->addChild(player,1);
	
	const CCString *positionX = spawnPoint->valueForKey("x");
	const CCString *positionY = spawnPoint->valueForKey("y");
	const CCString *objectName = spawnPoint->valueForKey("name");
	
	std::cout << positionX->getCString() << std::endl;
	std::cout << mapHeight - positionY->intValue() % 32 << std::endl;
	std::cout << objectName->getCString() << std::endl;

//	player->setPosition(ccp(positionX,positionY));
	
/*
    CCSprite *tile = layer->tileAt(ccp(5,6));
    assert(tile != NULL);
    
    layer->removeTileAt(ccp(5, 6));
    
    CCActionInterval*  actionBy = CCMoveBy::create(2, ccp(visibleSize.width * .5, visibleSize.height * .5));
    map->runAction(actionBy);
    
    CCActionInterval* action = CCScaleBy::create(2, 2);
    map->runAction(action);
*/
    
    
/*
    CCSize s = layer->getLayerSize();
    for (int x = 2; x < s.width; x++) {
        for (int y = 0; y < s.height; y++) {
            layer->removeTileAt(ccp(x, y));
        }
    }
*/
    return true;
}
Beispiel #24
0
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }
    
    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();

    /////////////////////////////
    // 2. add a menu item with "X" image, which is clicked to quit the program
    //    you may modify it.

    // add a "close" icon to exit the progress. it's an autorelease object
    CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
                                        "CloseNormal.png",
                                        "CloseSelected.png",
                                        this,
                                        menu_selector(HelloWorld::menuCloseCallback));
    
	pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 ,
                                origin.y + pCloseItem->getContentSize().height/2));

    // create menu, it's an autorelease object
    CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
    pMenu->setPosition(CCPointZero);
    this->addChild(pMenu, 1);

    /////////////////////////////
    // 3. add your codes below...

    // add a label shows "Hello World"
    // create and initialize a label
    
    CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", TITLE_FONT_SIZE);
    
    // position the label on the center of the screen
    pLabel->setPosition(ccp(origin.x + visibleSize.width/2,
                            origin.y + visibleSize.height - pLabel->getContentSize().height));

    // add the label as a child to this layer
    this->addChild(pLabel, 1);

    // add "HelloWorld" splash screen"
    CCSprite* pSprite = CCSprite::create("HelloWorld.png");

    // position the sprite on the center of the screen
    pSprite->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));

    // add the sprite as a child to this layer
    this->addChild(pSprite, 0);
    
//    CCClippingNode * clippingNodeLeft = CCClippingNode::create();
//    addChild(clippingNodeLeft);
//    clippingNodeLeft->addChild(pSprite,0);
//    CCDrawNode *shapeLeft = CCDrawNode::create();
//    static CCPoint triangleLeft[3];
//    triangleLeft[0] = ccp(0, 0);
//    triangleLeft[1] = ccp(visibleSize.width,0);
//    triangleLeft[2] = ccp(0,visibleSize.height);
//    static ccColor4F green = {0, 1, 0, 1};
//    shapeLeft->drawPolygon(triangleLeft, 3, green, 0, green);
//    clippingNodeLeft->setStencil(shapeLeft);
//    clippingNodeLeft->setInverted(false);
    
    return true;
}
Beispiel #25
0
/*
 * Control initialization
 */
void OptionsLayer::initControls()
{
	int xPos = 100;
	int fontSize = 35;

	CCSize visibleSize = CCEGLView::sharedOpenGLView()->getVisibleSize();
    
	//Labels
	CCLabelTTF* lblName = sgl_ControlFactory.createTTFLabel("Name:", ccp(xPos, 500));
    this->addChild(lblName);

	CCLabelTTF* lblGoal = sgl_ControlFactory.createTTFLabel("Goals:", ccp(xPos, 400));
	this->addChild(lblGoal);

	CCLabelTTF* lblColor = sgl_ControlFactory.createTTFLabel("Time:", ccp(xPos, 300));
	this->addChild(lblColor);

	//Controls
	int controlLimit = xPos + lblGoal->boundingBox().size.width + 20;

    std::string userName = CCUserDefault::sharedUserDefault()->getStringForKey(USER_DATA_NAME);
    if (userName.empty())
    {
        userName = "******";
    }
    
	CCSize editBoxSize = CCSizeMake(visibleSize.width * 0.2f, 50);
	CCScale9Sprite* sp = CCScale9Sprite::create("textbg.png");
	
	_txtName = CCEditBox::create(editBoxSize, sp);
    _txtName->setPosition(ccp(controlLimit+10, 480));
	_txtName->setFontName(S_F_TYPE.c_str());
	_txtName->setFontSize(fontSize);
    _txtName->setFontColor(ccRED);
	_txtName->setPlaceHolder(userName.c_str());
    _txtName->setPlaceholderFontColor(ccWHITE);
    _txtName->setMaxLength(15);
    _txtName->setReturnType(kKeyboardReturnTypeDone);
    _txtName->setDelegate(this);
	_txtName->setZOrder(1);
    _txtName->setAnchorPoint(ccp(0,0));
	
	addChild(_txtName);

	int goals = CCUserDefault::sharedUserDefault()->getIntegerForKey(GOALS_DATA_NAME);
	if (goals < 1) goals = 10;

	_goalNoSlider = CCControlSlider::create("sliderTrack.png", "sliderProgress.png", "sliderThumb.png");
    
    _goalNoSlider->setTouchEnabled(true);
    _goalNoSlider->setMinimumValue(1.0f); // Sets the min value of range
    _goalNoSlider->setMaximumValue(goals); // Sets the max value of range
    _goalNoSlider->setPosition(ccp(controlLimit+100, 400));
	_goalNoSlider->setAnchorPoint(ccp(0,0));
	_goalNoSlider->addTargetWithActionForControlEvents(this, cccontrol_selector(OptionsLayer::sliderEvent), CCControlEventValueChanged);
	_goalNoSlider->setTag(goalTag);

	_lblGoalSelection = sgl_ControlFactory.createTTFLabel("", ccp(controlLimit+_goalNoSlider->boundingBox().size.width+100, 400));
    this->addChild(_lblGoalSelection);

	_timeSlider = CCControlSlider::create("sliderTrack.png", "sliderProgress.png", "sliderThumb.png");
    
    _timeSlider->setTouchEnabled(true);
    _timeSlider->setPosition(ccp(controlLimit+100, 300));
	_timeSlider->setAnchorPoint(ccp(0,0));
	_timeSlider->addTargetWithActionForControlEvents(this, cccontrol_selector(OptionsLayer::sliderEvent), CCControlEventValueChanged);
	_timeSlider->setTag(timerTag);

    addChild(_goalNoSlider);
	addChild(_timeSlider);
}
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }

    /////////////////////////////
    // 2. add a menu item with "X" image, which is clicked to quit the program
    //    you may modify it.

    // add a "close" icon to exit the progress. it's an autorelease object
    CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
                                        "CloseNormal.png",
                                        "CloseSelected.png",
                                        this,
                                        menu_selector(HelloWorld::menuCloseCallback) );
    pCloseItem->setPosition( ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20) );

    // create menu, it's an autorelease object
    CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
    pMenu->setPosition( CCPointZero );
    this->addChild(pMenu, 1);

    /////////////////////////////
    // 3. add your codes below...

    // add a label shows "Hello World"
    // create and initialize a label
    CCLabelTTF* pLabel = CCLabelTTF::create("Cocos2dx GreePlatform Binding Test", "Thonburi", 34);

    // ask director the window size
    CCSize size = CCDirector::sharedDirector()->getWinSize();

    // position the label on the center of the screen
    pLabel->setPosition( ccp(size.width / 2, size.height - 20) );

    // add the label as a child to this layer
    this->addChild(pLabel, 1);

    // add "HelloWorld" splash screen"
    pSprite = CCSprite::create("HelloWorld.png");

    // position the sprite on the center of the screen
    pSprite->setPosition( ccp(size.width/2, size.height/2) );

    // add the sprite as a child to this layer
    this->addChild(pSprite, 0);

	// GreeButton
	pGreeButtonText = CCLabelTTF::create("Log in", "Thonburi", 34);
	pGreeButtonText->setPosition(ccp(size.width - 100, size.height - 40));
	this->addChild(pGreeButtonText, 1);
	CCMenuItemImage *pGree = CCMenuItemImage::create("gree.png", "gree.png", this, menu_selector(HelloWorld::menuGreeButtonCallback));
	pGree->setPosition(ccp(size.width - 100, size.height - 100));
	CCMenu* pGreeMenu = CCMenu::create(pGree, NULL);
	this->addChild(pGreeMenu, 1);
	pGreeMenu->setPosition(CCPointZero);
	pGree->setScaleY(3.0);
	pGree->setScaleX(3.0);		

    return true;
}
Beispiel #27
0
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    bool bRet = false;
    do 
    {
        //////////////////////////////////////////////////////////////////////////
        // super init first
        //////////////////////////////////////////////////////////////////////////

        CC_BREAK_IF(! CCLayer::init());

        //////////////////////////////////////////////////////////////////////////
        // add your codes below...
        //////////////////////////////////////////////////////////////////////////

        // 1. Add a menu item with "X" image, which is clicked to quit the program.

        // Create a "close" menu item with close icon, it's an auto release object.
        CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
            "CloseNormal.png",
            "CloseSelected.png",
            this,
            menu_selector(HelloWorld::menuCloseCallback));
        CC_BREAK_IF(! pCloseItem);

        // Place the menu item bottom-right conner.
        pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20));

        // Create a menu with the "close" menu item, it's an auto release object.
        CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
        pMenu->setPosition(CCPointZero);
        CC_BREAK_IF(! pMenu);

        // Add the menu to HelloWorld layer as a child layer.
        this->addChild(pMenu, 1);

        // 2. Add a label shows "Hello World".

        // Create a label and initialize with string "Hello World".
        CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);
        CC_BREAK_IF(! pLabel);

        // Get window size and place the label upper. 
        CCSize size = CCDirector::sharedDirector()->getWinSize();
        pLabel->setPosition(ccp(size.width / 2, size.height - 50));

        // Add the label to HelloWorld layer as a child layer.
        this->addChild(pLabel, 1);

        // 3. Add add a splash screen, show the cocos2d splash image.
        CCSprite* pSprite = CCSprite::create("HelloWorld.png");
        CC_BREAK_IF(! pSprite);

        // Place the sprite on the center of the screen
        pSprite->setPosition(ccp(size.width/2, size.height/2));

        // Add the sprite to HelloWorld layer as a child layer.
        this->addChild(pSprite, 0);

         bRet = true;

		shareCamera->setSceneSize(size.width,size.height);
		this->addChild((CCNode*)(shareCamera->getGUI()));
	
		IrrButton* button = IrrButton::create("CloseNormal.png","CloseSelected.png",false);
		button->setPosition(300,100);
		button->addClickEvent(this,irr_gui_clickselector(HelloWorld::onClickHandler));
	//	shareCamera->appendToGUI(button);
		std::string name = "btn 0";
		button->setName(name);



		IrrButton* button1 = IrrButton::create("CloseNormal.png","CloseSelected.png",false);
		button1->addClickEvent(this,irr_gui_clickselector(HelloWorld::onClickHandler));
		std::string name1 = "btn 1";
		button1->setName(name1);
		button1->setPosition(300,310);
		shareCamera->appendToGUI(button1);

		IrrButton* button2 = IrrButton::create("CloseNormal.png","CloseSelected.png",false);
		button2->addClickEvent(this,irr_gui_clickselector(HelloWorld::onClickHandler));
		std::string name2 = "btn 2";
		button2->setName(name2);
		button2->setPosition(20,0);
		button1->addWidget(button2);

		IrrButton* button3= IrrButton::create("CloseNormal.png","CloseSelected.png",false);
		button3->addClickEvent(this,irr_gui_clickselector(HelloWorld::onClickHandler));
		std::string name3 = "btn 3";
		button3->setName(name3);
		button3->setPosition(310,310);
		shareCamera->appendToGUI(button3);

		for (int i = 5; i < 500;i++)
		{
// 			button3= IrrButton::create("CloseNormal.png","CloseSelected.png",false);
// 			button3->addClickEvent(this,irr_gui_clickselector(HelloWorld::onClickHandler));
// 			name3 = "btn";
// 			name3 += irr_utils::IrrStringUtils::IntToString(i);
// 			button3->setName(name3);
// 			int  x = irr_utils::IrrMathUtils::RandomInt(960);
// 			int  y = irr_utils::IrrMathUtils::RandomInt(640);
// 			button3->setPosition(x,y);
// 			shareCamera->appendToGUI(button3);
		}
		//shareCamera->appendToGUI(button2);
// 		IrrPngLabel* pPngLabel = IrrPngLabel::create("123123sfdgfgsf2");
// 		pPngLabel->setPosition(300,300);
// 		pPngLabel->setDimensions(30,300);
// 
// 		//pPngLabel->setFontSize(18);
// 		//pPngLabel->setVerticalTextAlign(kCCVerticalTextAlignmentBottom);
// 		pPngLabel->setTextAlign(kCCTextAlignmentCenter);
// 		pPngLabel->setTouchable(true);
// 		shareCamera->appendToGUI(pPngLabel);
		
		//pPngLabel->setDimensions(300,200);

		IrrTextFieldTTF* pLabelTTF = IrrTextFieldTTF::create();
		pLabelTTF->setString("123123123123123sfds");
		shareCamera->appendToGUI(pLabelTTF);
		pLabelTTF->setPosition(200,200);

		CCNode* pChild1 = CCNode::create();
		CCNode* pChild2 = CCNode::create();
		this->addChild(pChild1);
		this->addChild(pChild2);

    } while (0);

    return bRet;
}
QuestionMark::QuestionMark()
{
    setTouchEnabled( true );

    float scale = ScreenHelper::getTextureScale();
    float scaleX = ScreenHelper::getTextureScaleX();
    float scaleY = ScreenHelper::getTextureScaleY();
    
    CCTextureCache::sharedTextureCache()->addPVRImage("ctm_Buttons.pvr.ccz");
    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ctm_Buttons.plist");
    
    CCTextureCache::sharedTextureCache()->addPVRImage("ctm_Icons.pvr.ccz");
    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ctm_Icons.plist");
    
    CCSprite *sprite = CCSprite::create("MainBackFiller.png");
    sprite->setScaleX(scaleX*1.2f);
    sprite->setScaleY(scaleY*1.2f);
    sprite->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER,0.0f,-32.0f));
    addChild(sprite);
    
    sprite = CCSprite::create("ctm_UI_topOverlayA_ver1.png");
    sprite->setScaleX(scaleX);
    sprite->setScaleY(scaleY);
    sprite->setPosition(ScreenHelper::getAnchorPoint(ScreenHelper::ANCHOR_CENTER));
    addChild(sprite,2);
    
    CCLabelTTF *label = CCLabelTTF::create("?", "impact.ttf", 42*scale);
    addChild(label, 2);
    label->setColor(ccc3(0,0,0));
    label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_TOP_CENTER,2.0f,-52.0f));
    
    label = CCLabelTTF::create("?", "impact.ttf", 42*scale);
    addChild(label, 2);
    label->setColor(ccc3(237,188,0));
    label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_TOP_CENTER,0.0f,-50.0f));
    
    CCMenuItem *BackButton = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("ctm_Back_Button.png"), CCSprite::createWithSpriteFrameName("ctm_Back_Button_Down.png"), this, menu_selector(QuestionMark::backButtonTapped));
    BackButton->setScale(scale);
    BackButton->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_TOP_LEFT,50.0f,-50.0f));
    
    CCMenu* menu = CCMenu::create(BackButton, NULL);
    menu->setPosition(ScreenHelper::getAnchorPoint(ScreenHelper::ANCHOR_BOTTOM_LEFT));
    addChild(menu,4);
    
    CCSize dim;
    int randInt = RandomInt(0,100);
    if(randInt>95)
    {
        dim.width = 420*scale;
        dim.height = 250*scale;
        const char *colorText = "\"Surely you can't be serious!\" he says, as he slowly ambles back to his crimson hued overstuffed chair.  You find yourself contemplating the simian who rebuffed your overture so out of hand.  You can't help but admire this modern Grigori Rasputin for his steely determination.  With perhaps undue influence of aqua vitae and plantains coloring your reason, you counter with tremendous vigor.  With all the potency of Hannibal and his terrene leviathan you fill your hands with your own ordure and volley it squarely into his agape maw.";
        
        CCLabelTTF *text = CCLabelTTF::create(colorText,"impact.ttf",16*scale,dim,kCCTextAlignmentCenter);
        text->setColor(ccc3(230,230,230));
        text->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, -70.0f));
        addChild(text);
    }
    else if(randInt>5)
    {
        int randomImage = RandomInt(1,14);
        
        CCTextureCache::sharedTextureCache()->addPVRImage("QuestionMark.pvr.ccz");
        CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("QuestionMark.plist");
        
        char temp[64];
        sprintf(temp,"ConceptArt_%02d.png",randomImage);
        CCSprite *image = CCSprite::createWithSpriteFrameName(temp);
        image->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, -35.0f));
        image->setScale(0.5f*scale);
        addChild(image);
    }
    else
    {
        dim.width = 420*scale;
        dim.height = 250*scale;
        const char *colorText = "?";
        
        CCLabelTTF *text = CCLabelTTF::create(colorText,"impact.ttf",80*scale,dim,kCCTextAlignmentCenter);
        text->setColor(ccc3(230,230,230));
        text->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER, 0.0f, -70.0f));
        addChild(text);
    }
}
Beispiel #29
0
bool LoginScene::init()
{
    if ( !CCLayer::init() )
    {
        return false;
    }
    
    
    //buttons 
    CCMenuItemImage *pRegister = CCMenuItemImage::create(
                                                    "wkszLogin/register.png",
                                                    "wkszLogin/register_p.png",
                                                    this,
                                                    menu_selector(LoginScene::registerCB) );
    CCMenuItemImage *pLogin = CCMenuItemImage::create(
                                                     "wkszLogin/login.png",
                                                     "wkszLogin/login_p.png",
                                                     this,
                                                     menu_selector(LoginScene::loginCB) );
    CCMenuItemImage *pSurfer = CCMenuItemImage::create(
                                                    "wkszLogin/surfer.png",
                                                    "wkszLogin/surfer_p.png",
                                                    this,
                                                    menu_selector(LoginScene::surferCB) );
    
    pRegister->setPosition( ccp(500, 100) );
    pLogin->setPosition( ccp(650, 450) );
    pSurfer->setPosition( ccp(650, 380) );
    
    CCMenu* pMenu = CCMenu::create(pRegister,pLogin,pSurfer,NULL);
    pMenu->setPosition( CCPointZero );
    this->addChild(pMenu);
    
    
    //editbox
    CCScale9Sprite * ssp1 = CCScale9Sprite::create("wkszLogin/editboxBG.png");
    ssp1->setPreferredSize(CCSizeMake(500, 20));
    ssp1->setAnchorPoint(ccp(0.5, 0.5));
    pEditBox = CCEditBox::create(CCSizeMake(200,40),ssp1);
    pEditBox->setPlaceHolder("输入用户名");
    pEditBox->setFontColor(ccc3(255, 0, 255));
    pEditBox->setPosition(ccp(450, 450));
    this->addChild(pEditBox);
    
    CCScale9Sprite * ssp2 = CCScale9Sprite::create("wkszLogin/editboxBG.png");
    ssp2->setPreferredSize(CCSizeMake(500, 20));
    ssp2->setAnchorPoint(ccp(0.5, 0.5));
    pEditBoxPWD = CCEditBox::create(CCSizeMake(200,40),ssp2);
    pEditBoxPWD->setPlaceHolder("输入密码");
    pEditBoxPWD->setFontColor(ccc3(255, 0, 255));
    pEditBoxPWD->setPosition(ccp(450, 380));
    pEditBoxPWD->setInputFlag(kEditBoxInputFlagPassword);
    this->addChild(pEditBoxPWD);

    
    //mssages
    CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Thonburi", 34);
    CCSize size = CCDirector::sharedDirector()->getWinSize();
    pLabel->setPosition( ccp(size.width / 2, size.height - 20) );
    this->addChild(pLabel, 1);
    
    swfBg = CCSWFNode::create("wkszLogin/swfBg.swf");
    swfBg->setPosition(ccp(size.width/2+30, size.height/2-100));
    swfBg->setScale(0.8f);
    swfBg->runAction();
    swfBg->setRepeat(true);
    this->addChild(swfBg,-9);
    
    swfWK = CCSWFNode::create("wkszLogin/swfWK.swf");
    swfWK->setPosition(ccp(800, 280));
    swfWK->runAction();
    swfWK->setRepeat(true);
    this->addChild(swfWK,-8);

    
    CCSprite *sptmp = CCSprite::create("wkszLogin/tree.png");
    sptmp->setPosition(ccp(920,80));
    this->addChild(sptmp,-7);
    
    
    swfMovie = NULL;
    flag = 0;
    return true;
}
Beispiel #30
0
void RankScene::getServerTimeRequestCompleted(cocos2d::CCNode *sender, void *data){
    
    year_current = month_current = day_current = clock_current = minute_current = second_current = "";
    
    //1.获取服务器返回的时间信息
    CCHttpResponse* response = (CCHttpResponse*)data;
    if (!response) {    return;     }
    int statusCode = response->getResponseCode();
    std::vector<char> *buffer = response->getResponseData();
    printJson(buffer);
    
    //2.解析时间信息
    string expStr;
    int now,exp;
    for (unsigned int i = 0; i < buffer->size(); i++) {
        //2.1 当前时间
        if ((*buffer)[i] == '"' && (*buffer)[i+1] == 'n' && (*buffer)[i+2] == 'o' && (*buffer)[i+3] == 'w' && (*buffer)[i+4] == '"' && (*buffer)[i+5] == ':'){
            for (int j = 0 ; j < 4 ; j++)
                year_current += (*buffer)[i+7+j];
            for (int j = 0 ; j < 2 ; j++){
                month_current += (*buffer)[i+12+j];
                day_current += (*buffer)[i+15+j];
                clock_current += (*buffer)[i+18+j];
                minute_current += (*buffer)[i+21+j];
                second_current += (*buffer)[i+24+j];
            }
        }
        //2.2 结算时间
        if((*buffer)[i] == 'a' && (*buffer)[i+1] == 't' && (*buffer)[i+2] == '"' && (*buffer)[i+3] == ':' && (*buffer)[i+4] == '"' && (*buffer)[i+5] == '2')
            for (int j = 0;  j < 2 ; j++)
                expStr += (*buffer)[i+13+j];
    }
    
    //3.计算下次结算时间
    int daysPerMonth[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
    if (day_current[0] == 0)
        now = atoi(&day_current[1]);
    else
        now = atoi(day_current.c_str());
    if (expStr[0] == 0)
        exp = atoi(&expStr[1]);
    else
        exp = atoi(expStr.c_str());
    if (exp < now) {
        serverTime = exp + daysPerMonth[atoi(month_current.c_str())-1] - now;
    }else
        serverTime = exp - now;
    
    //4.计算下次回复时间,总的秒数
    int nextSecond = 0;
    if (year_next!="" && month_next!="" && day_next!="" && clock_next!="" && minute_next!="" && second_next!="") {
        nextSecond += atoi(year_next.c_str())*31536000;
        for (int i = 0 ; i < atoi(month_next.c_str()); i++)
            nextSecond += daysPerMonth[i]*24*60*60;
        nextSecond += atoi(day_next.c_str())*24*60*60;
        nextSecond += atoi(clock_next.c_str())*60*60;
        nextSecond += atoi(minute_next.c_str())*60;
        nextSecond += atoi(second_next.c_str());
    }else
        nextSecond = 0;
    
    //5.计算当前的时间,总的秒数
    int currentSecond = 0;
    if (nextSecond!=0) {
        currentSecond += atoi(year_current.c_str())*31536000;
        for (int i = 0 ; i < atoi(month_current.c_str()); i++)
            currentSecond += daysPerMonth[i]*24*60*60;
        currentSecond += atoi(day_current.c_str())*24*60*60;
        currentSecond += atoi(clock_current.c_str())*60*60;
        currentSecond += atoi(minute_current.c_str())*60;
        currentSecond += atoi(second_current.c_str());
    }else
        currentSecond = 0;
        
    nextRecoverySecond = nextSecond - currentSecond;
    
    //6.体力部分
    for (int i = 0 ; i < 6 ; i++)
        removeChildByTag(41+i);

    for (int i = 0 ; i < MainUser->energyNumber ; i++) {
        CCSprite* energy = CCSprite::createWithSpriteFrameName("heart.png");
        energy->setPosition(ccp(size.width*10/80+i*size.width*12.7/240, size.height*2100/2200+winDif*4*(2-alpha)));
        addChild(energy,10000,41+i);
    }
    
    //7.体力回复时间
    if (MainUser->energyNumber < 5) {
        string nextRecoveryTimStr = int2string(nextRecoverySecond/60) + ":" + int2string(nextRecoverySecond%60);
        CCLabelTTF* recoveryTime = CCLabelTTF::create(nextRecoveryTimStr.c_str(), "Arial Rounded MT Bold", 24,CCSizeMake(size.width/3, 0),kCCTextAlignmentRight);
        recoveryTime->setPosition(ccp(size.width*20/80,size.height*2100/2200+winDif*4*(2-alpha)));
        addChild(recoveryTime,10000,46);
        
        schedule(schedule_selector(RankScene::energyTimeCounter), 1);
    }

    //5.关闭提示框
    MessageBox->closeMessageBox();
    
    //6.下一个动作
    if (tableIndex == 1) //如果之前就是排行榜,则直接把信息写上去
        rankListContent();
    else if(tableIndex == 2)//如果之前是题包列表,则旋转
        goToRankList();
}