Beispiel #1
0
// on "init" you need to initialize your instance
bool ChooseMap::init()
{
    //////////////////////////////
    // 1. super init first
    if (!Layer::init())
    {
        return false;
    }
    CCNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(ChooseMap::getArray), "2PMessage", NULL);
    CCNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(ChooseMap::storymode), "storyMessage", NULL);
    string path = "images/newGame/";
	char *mapName[6] = { "chibi", "guandu", "hanzhong", "hulaoguan", "xuzhou", "yiling"};
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    //平铺背景
    auto *bg = CCSprite::create("images/background/bg_fight.png");
    bg->setPosition(ccp(visibleSize.width / 2, visibleSize.height / 2));
    this->addChild(bg, -1);
    //标题
    auto *title = CCSprite::create(path + "map_choose.png");
    title->setPosition(ccp(visibleSize.width * 0.1, visibleSize.height * 0.9));
    this->addChild(title);
    title->setScale(1.4f, 1.4f);
    //hint
    string hints = XMLParser::parseXML("hintStrings", 3);
    CCLabelTTF *ttf = CCLabelTTF::create(hints, "【朦胧补】水黑体", 35);
    ttf->setPosition(ccp(visibleSize.width * 0.85, visibleSize.height * 0.87));
    this->addChild(ttf);
    //上一步
    auto* last = CCSprite::create(path+"last.png");
    last->setScale(1.4f, 1.4f);
    auto* last_selected = CCSprite::create(path + "last_selected.png");
    last_selected->setScale(1.4f, 1.4f);
    auto *Last = CCMenuItemSprite::create(last, last_selected, last, this, menu_selector(ChooseMap::backto));
    Last->setPosition(ccp(visibleSize.width - 200, 50));
    //开始游戏
    auto* begin = CCSprite::create(path + "begin.png");
    begin->setScale(1.4f, 1.4f);
    auto* begin_selected = CCSprite::create(path + "begin_selected.png");
    begin_selected->setScale(1.4f, 1.4f);
    auto *Begin = CCMenuItemSprite::create(begin, begin_selected, begin, this, menu_selector(ChooseMap::startGame));
    Begin->setPosition(ccp(visibleSize.width - 80, 50));

    auto *menu = CCMenu::create(Begin, NULL);
    menu->addChild(Last, NULL);
    menu->setPosition(Point::ZERO);
    this->addChild(menu, 2);

	auto listener = EventListenerTouchOneByOne::create();
    listener->setSwallowTouches(true);
    listener->onTouchBegan = [](Touch* touch, Event* event)->bool{
        CCLOG("listener1 onTouchBegan");
        auto target = static_cast<Sprite*>(event->getCurrentTarget());
        Point locationInNode = target->convertToNodeSpace(touch->getLocation());
        Size s = target->getContentSize();
        Rect rect = Rect(0, 0, s.width, s.height);
        if (rect.containsPoint(locationInNode)){//判断触摸点是否在目标的范围内
            return true;
        }
        else
            return false;
    };
    listener->onTouchMoved = [](Touch* touch, Event* event){CCLOG("listener1 onTouchMoved"); };
    listener->onTouchEnded = [](Touch* touch, Event* event){
        CCMenuItemImage *target = static_cast< CCMenuItemImage*>(event->getCurrentTarget());
        if (target->isSelected()){
            target->unselected();
        }
        else {
	        SimpleAudioEngine::sharedEngine()->playEffect("select.wav",false);//开始播放背景音效,false表示不循环
            target->selected();
        }
    };
    for (int k = 0; k < 2; k++){
        double f;
        if (k == 0){
            f = 0.58;
        }
        else {
            f = 0.23;
        }
        for (int j = 0; j < 3; j++){
			int i = 3 * k + j;
            Sprite *sprite = Sprite::create(path + mapName[i] + ".png");
            sprite->setScale(0.5f, 0.5f);
            map[i] = CCMenuItemImage::create(path + mapName[i] + "zhizhan.png", path + mapName[i] + "zhizhan_selected.png");
            map[i]->setScale(0.5f, 0.5f);
            sprite->setPosition(ccp(visibleSize.width * 0.3 * j + 280, visibleSize.height * f - 50));
            map[i]->setPosition(ccp(visibleSize.width * 0.3 * j + 280, visibleSize.height * f + 80));
            this->addChild(sprite);
            this->addChild(map[i], 1);
            _eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), map[i]);
        }
    }
    return true;
}  
// 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);

		CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
		CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
		CCLog("Origin: (%.3f, %.3f)\n", origin.x, origin.y);
        // Place the menu item bottom-right conner.
        pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2,
									origin.y + pCloseItem->getContentSize().height/2));

        // 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, ZORDER_UI);

        // 2. background
		m_pSpaceDust = CCSprite::create("bg_front_spacedust.png");
		m_pSpaceDust->setPosition(ccp(origin.x + visibleSize.width/2, origin.y + visibleSize.height));
		m_pPlanetSunrise = CCSprite::create("bg_planetsunrise.png");
		m_pPlanetSunrise->setPosition(ccp(origin.x + visibleSize.width, origin.y + visibleSize.height*0.9f));
		m_pGalaxy = CCSprite::create("bg_galaxy.png");
		m_pGalaxy->setPosition(ccp(origin.x + visibleSize.width*0.0f, origin.y + visibleSize.height*0.5f));
		//m_pSpacialAnomaly = CCSprite::create("bg_spacialanomaly.png");
		//m_pSpacialAnomaly->setPosition(ccp(origin.x + visibleSize.width*0.3f, origin.y + visibleSize.height*0.7f));
		m_pSpacialAnomaly2 = CCSprite::create("bg_spacialanomaly2.png");
		m_pSpacialAnomaly2->setPosition(ccp(origin.x + visibleSize.width, origin.y + visibleSize.height*0.1f));

		this->addChild(m_pSpaceDust, ZORDER_BACKGROUND);
		this->addChild(m_pPlanetSunrise, ZORDER_BACKGROUND);
		this->addChild(m_pGalaxy, ZORDER_BACKGROUND);
		//this->addChild(m_pSpacialAnomaly, ZORDER_BACKGROUND);
		this->addChild(m_pSpacialAnomaly2, ZORDER_BACKGROUND);

		// 3. player
		m_pPlayer = CCSprite::create("spaceman_tiny.png");
		m_x = origin.x + visibleSize.width/2;
		m_y = origin.y + GROUND_HEIGHT;
		m_pPlayer->setPosition(ccp(m_x, m_y));
		this->addChild(m_pPlayer, ZORDER_PLAYER);

		// 4. planets
		m_pBatchNode = CCSpriteBatchNode::create("planets.pvr.ccz");
		this->addChild(m_pBatchNode, ZORDER_INTERACTIVE);
		CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("planets.plist");

		// 5. events
		this->scheduleUpdate();
		this->setTouchEnabled(true);
		this->schedule(schedule_selector(HelloWorld::gameLogic), 2.0f);

		// 6. other
		m_pPlanets = new CCArray;
		CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("SpaceGame.wav", true);

        bRet = true;
    } while (0);

    return bRet;
}
Beispiel #3
0
// on "init" you need to initialize your instance
bool MainMenu::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
    //CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("MainMenu-ipadhd.plist");
    //_menuBatchNode = CCSpriteBatchNode::create("MainMenu-ipadhd.png");
    
    //this->addChild(_menuBatchNode);
    
    auto CCSprite * sprite;
    sprite = CCSprite::create("mainmenucolor.png");
    sprite->setRotation(90.0f);
    sprite->setPosition(ccp(visibleSize.width/2,visibleSize.height/2));
    this->addChild(sprite,0);
    
    sprite = CCSprite::create("mainmenubull.png");
    sprite->setPosition(ccp(visibleSize.width/2-sprite->boundingBox().size.width/2.5,visibleSize.height-sprite->boundingBox().size.height/2));
    sprite->setScale(.95f);
    this->addChild(sprite);
    
    //sprite = CCSprite::createWithSpriteFrameName("playButton.png");
    //sprite->setPosition(ccp(visibleSize.width/2+sprite->boundingBox().size.width/2,visibleSize.height/2+sprite->boundingBox().size.height/2));
    //_menuBatchNode->addChild(sprite);
    
    
    CCMenuItemImage *playbutton = CCMenuItemImage::create("playButton.png","playButton.png",this,menu_selector(MainMenu::playButtonCallback));
    playbutton->setPosition(ccp(visibleSize.width/2+playbutton->boundingBox().size.width/2,visibleSize.height/2+playbutton->boundingBox().size.height/2));
    
    CCMenu* playMenu = CCMenu::create(playbutton, NULL);
    playMenu->setPosition(CCPointZero);
    this->addChild(playMenu, 1);
    
    CCMenuItemImage *quitbutton = CCMenuItemImage::create("quitbutton.png","quitbutton.png",this,menu_selector(MainMenu::menuCloseCallback));
    
    quitbutton->setPosition(ccp(visibleSize.width/2+quitbutton->boundingBox().size.width/2,visibleSize.height/4));
    
    CCMenu* quitMenu = CCMenu::create(quitbutton, NULL);
    quitMenu->setPosition(CCPointZero);
    this->addChild(quitMenu, 1);
    
    
    
    /////////////////////////////
    // 3. add your codes below...

    // add a label shows "Hello World"
    // create and initialize a label
    
    

    
    
    return true;
}
Beispiel #4
0
//添加顶部按钮
void MenuScene::initButton()
{
    //免费富币
    CCMenuItemImage *freeImage = CCMenuItemImage::create("ZF_Shoot_Button_coin.png", "ZF_Shoot_Button_coin1.png",this,menu_selector(MenuScene::menuCloseCallBack));
    freeImage->setPosition(ccp(size.width/2, size.height-55));
    freeImage->setTag(1);
    CCActionInterval* scaleTofree1 = CCScaleTo::create(kScaleDuration, 1, 0.95);
    CCActionInterval* scaleTofree2 = CCScaleTo::create(kScaleDuration, 0.96, 1);
    CCSequence* sequence1 = CCSequence::create(scaleTofree1,scaleTofree2,NULL);
    CCActionInterval* rotate1 = CCRepeatForever::create(sequence1);
    freeImage->runAction(rotate1);
    
    
    //商城
    CCMenuItemImage *buyImage = CCMenuItemImage::create("ZF_Shoot_Button_shop.png", "ZF_Shoot_Button_shop1.png",this,menu_selector(MenuScene::menuCloseCallBack));
    buyImage->setPosition(ccp(size.width/2+205, size.height-55));
    buyImage->setTag(2);
    CCActionInterval* scaleTobuy1 = CCScaleTo::create(kScaleDuration, 1, 0.95);
    CCActionInterval* scaleTobuy2 = CCScaleTo::create(kScaleDuration, 0.96, 1);
    CCSequence* sequence2 = CCSequence::create(scaleTobuy1,scaleTobuy2,NULL);
    CCActionInterval* rotate2 = CCRepeatForever::create(sequence2);
    buyImage->runAction(rotate2);
    
    
    //玩家指南
    CCMenuItemImage *guideIamge = CCMenuItemImage::create("ZF_Shoot_Button_help.png", "ZF_Shoot_Button_help1.png",this,menu_selector(MenuScene::menuCloseCallBack));
    guideIamge->setPosition(ccp(size.width/2+405, size.height-55));
    guideIamge->setTag(4);
    CCActionInterval* scaleTopl1 = CCScaleTo::create(kScaleDuration, 1, 0.95);
    CCActionInterval* scaleTopl2 = CCScaleTo::create(kScaleDuration, 0.96, 1);
    CCSequence* sequence4 = CCSequence::create(scaleTopl1,scaleTopl2,NULL);
    CCActionInterval* rotate4 = CCRepeatForever::create(sequence4);
    guideIamge->runAction(rotate4);
    
    sceneMenu = CCMenu::create(freeImage,buyImage,guideIamge,NULL);
    sceneMenu->setPosition(CCPointZero);
    this->addChild(sceneMenu, 1);
}
Beispiel #5
0
bool CGroupInfoScene::init()
{
    bool bRet = false;
    do 
    {
        CC_BREAK_IF(! CCLayer::init());

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

		// 背景
		cocos2d::CCSprite *pSpriteBg = CCSprite::create( PATCH_RES_DIR("bg8.png") );
		pSpriteBg->setScale(BG_SCALE);
		pSpriteBg->setAnchorPoint( ccp(0, 0) );
		pSpriteBg->setPosition( ccp(0, 0) );
		addChild( pSpriteBg, 0 );

        // 关闭按钮
        CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
            PATCH_RES_DIR("close2.png"),
            PATCH_RES_DIR("close1.png"),
            this,
            menu_selector(CGroupInfoScene::menuCloseCallback) );
        CC_BREAK_IF( !pCloseItem );
		pCloseItem->setAnchorPoint( ccp(0, 0) );
		float w = visibleSize.width - pCloseItem->getContentSize().width - 5;
		float h = 5;
		pCloseItem->setPosition( ccp(w, h) );

        CCMenu *pMenu = CCMenu::create( pCloseItem, NULL );
        pMenu->setPosition( CCPointZero );
        CC_BREAK_IF( !pMenu );
        addChild( pMenu, 1 );

		// 后退
		{
			CCMenuItemImage *pBackItem = CCMenuItemImage::create(
				PATCH_RES_DIR("back.png"),
				PATCH_RES_DIR("back.png"),
				this,
				menu_selector(CGroupInfoScene::menuBackCallback) );
			CC_BREAK_IF( !pBackItem );
			pBackItem->setAnchorPoint( ccp(0, 0) );
			float w = visibleSize.width - pBackItem->getContentSize().width - 5 - pCloseItem->getContentSize().width;
			float h = 5;
			pBackItem->setPosition( ccp(w, h) );
			CCMenu *pMenu = CCMenu::create( pBackItem, NULL );
			pMenu->setPosition( CCPointZero );
			CC_BREAK_IF( !pMenu );
			addChild( pMenu, 1 );
		}

        bRet = true;

		// 群名字
		CGroupInfo *group = CGameManager::Instance().GetCurGroup();
		cocos2d::CCSprite *pGroupSprite = CCSprite::create( PATCH_RES_DIR("group.png") );
		pGroupSprite->setScale(BG_SCALE);
		pGroupSprite->setAnchorPoint( ccp(0, 0) );
		pGroupSprite->setPosition( ccp(10, visibleSize.height-pGroupSprite->getContentSize().height-5 ) );
		addChild( pGroupSprite, 0 );
		CCLabelTTF *labelGroup = CCLabelTTF::create(group->m_Name.c_str(), "Helvetica", 20.0);
		labelGroup->setAnchorPoint(CCPointZero);
		labelGroup->setPosition( ccp(pGroupSprite->getContentSize().width+20, visibleSize.height-pGroupSprite->getContentSize().height-5 ) );
		addChild( labelGroup, 0 );

		// 自己
		cocos2d::CCSprite *pSelf = CCSprite::create( PATCH_RES_DIR("group_self.png") );
		pSelf->setScale(BG_SCALE);
		pSelf->setAnchorPoint( ccp(0, 0) );
		pSelf->setPosition( ccp(visibleSize.width/2, visibleSize.height-pGroupSprite->getContentSize().height-5 ) );
		addChild( pSelf, 0 );
		CCLabelTTF *labelSelf = CCLabelTTF::create(CGameManager::Instance().GetUser().c_str(), "Helvetica", 20.0);
		labelSelf->setAnchorPoint(CCPointZero);
		labelSelf->setPosition( ccp(visibleSize.width/2+pSelf->getContentSize().width+20, visibleSize.height-pGroupSprite->getContentSize().height-5 ) );
		addChild( labelSelf, 0 );

		// 加载成员列表
		_InitMemberList();
		_InitAddGame();
			
		CNetManager::Instance().ResumeProcMsg();

		CGameManager::Instance().SetGameWorld( this );
    } while (0);

    return bRet;
}
Beispiel #6
0
bool ResultLayer::init() {
	if ( CCLayerColor::initWithColor( ccc4(255, 255, 255, 255) ) ) {
        
        CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
        CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
        
        // make the labels of the score and the high score and add them on the layer.
        int score = Score::getScore();
        int highScore = Score::getHighScore();
//        CCLog("score = %d", score);
//        CCLog("high score= %d", highScore);
        CCString* scoreValue = CCString::createWithFormat("Score: %d", score);
        CCString* highScoreValue = CCString::createWithFormat("High Score: %d", highScore);
        // set font.
        CCLabelTTF* pScoreLabel = CCLabelTTF::create(scoreValue->getCString(), "arial", 48.0);
        // set the font color
        pScoreLabel->setColor(ccc3(255, 0, 127));
        int widthScoreLabel =pScoreLabel->getContentSize().width;
         // set font.
        CCLabelTTF* pHighScoreLabel = CCLabelTTF::create(highScoreValue->getCString(), "arial", 48.0);
        // set the font color.
        pHighScoreLabel->setColor(ccc3(255, 0, 127));
        // get the width and the height of the high score label.
        int widthHighScoreLabel =pHighScoreLabel->getContentSize().width;
        int heightHighScoreLabel = pHighScoreLabel->getContentSize().height;
        // set the positions of the labels.
        pScoreLabel->setPosition(ccp(origin.x + visibleSize.width / 2 - widthScoreLabel / 2,
                                     origin.y + (int)(visibleSize.height * (1.0 - 0.4))));
        pHighScoreLabel->setPosition(ccp(origin.x + visibleSize.width / 2 - widthScoreLabel/ 2
                                         + abs(widthHighScoreLabel - widthScoreLabel) / 2,
                                         origin.y + (int)(visibleSize.height * (1.0 - 0.4))
                                         - heightHighScoreLabel - 20));
        // add the labels to the layer.
        this->addChild(pScoreLabel, 1);
        this->addChild(pHighScoreLabel, 1);
        
        
		// 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(
                                                              "BackNormal.png",
                                                              "BackSelected.png",
                                                              this,
                                                              menu_selector(ResultLayer::menuBackCallback));
        
		// Place the menu item bottom-right conner.
//        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));
        
		// Create a menu with the "close" menu item, it's an auto release object.
		CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
		pMenu->setPosition(CCPointZero);
        
		// Add the menu to SecondWorld layer as a child layer.
		this->addChild(pMenu, 1);
        
        return true;
    } else {
        return false;
    }
}
CCMenuItemImage* Objects2dFactory::textButton(CCNode* scene, CCMenu* menu, string value, string normalImagePath, string selectedImagePath, string disabledImagePath, 
	float positionX, float positionY, float width, float height, SEL_MenuHandler selector, void* selectorArg, AlignX alignX, AlignY alignY, ccColor3B textColor, int zOrder)
{
	// Check arguments validity
	if(scene == NULL ||menu == NULL || !selector)
		return NULL;

	// Create a button menu item
    CCMenuItemImage *button = CCMenuItemImage::create(
        normalImagePath.c_str(),
        selectedImagePath.c_str(),
		disabledImagePath.c_str(),
        scene,
        selector);
    if(!button)
		return NULL;

	if (selectorArg != NULL)
	{
		button->setUserData(selectorArg);
	}

    // Place the menu item in the given position
    button->setPosition(ccp(positionX, positionY));

	// Set menu item anchor
	button->setAnchorPoint(ccp(Constants::getAnchorValue(alignX), Constants::getAnchorValue(alignY)));
	
	// Set menu item height
	float buttonHeight = button->boundingBox().size.height;
	float buttonPosScaleHeight = buttonHeight;
	if (height > 0) // if height is defined, it is setted
	{
		button->setScaleY(height / buttonHeight);
		buttonPosScaleHeight = height;
	}
	
    // Create a label and initialize with the given string
	CCLabelTTF* pLabel = CCLabelTTF::create(value.c_str(), "Arial"/*string(Constants::getResourcesPath() + "SOResources/Fonts/AlphaFridgeMagnetsAllCap.ttf").c_str()*/, 
		buttonPosScaleHeight * 0.6f);
    if(!pLabel)
		return NULL;
	
    // Set color
    pLabel->setColor(textColor);
	
	// Set menu item width
	float buttonWidth = button->boundingBox().size.width;
	float buttonPosScaleWidth = buttonWidth;
	if (width > 0) // if width is defined, it is setted
	{
		button->setScaleX(width / buttonWidth);
		buttonPosScaleWidth = width;
	}
	else // otherwise, we will compare the text width with the button width
	{
		float textWidth = pLabel->boundingBox().size.width;
		if (textWidth * 1.25 > buttonWidth) // if the width adapted to the text is bigger than the button width, adapted width must be setted, otherwise, button width must stay as it was
		{
			button->setScaleX(textWidth * 1.25f / buttonWidth);
			buttonPosScaleWidth = textWidth * 1.25f;
		}
	}
	
    // Place the label; must be in the center of the button
	pLabel->setPosition(ccp(buttonPosScaleWidth * 0.5f * 1/button->getScaleX(), buttonPosScaleHeight * 0.5f * 1/button->getScaleY()));
	
	// Set label centered anchor
	pLabel->setAnchorPoint(ccp(Constants::getAnchorValue(Centered), Constants::getAnchorValue(Middle)));
	
	// Add label to button
	button->addChild(pLabel);

	// Set label scale; the inverse of button scale, so label can be as it would be if it was a child of scene
	pLabel->setScaleY(1/button->getScaleY());
	pLabel->setScaleX(1/button->getScaleX());

	// If label is larger than button
	if (pLabel->boundingBox().size.width * button->getScaleX() > button->boundingBox().size.width)
	{
		// Label must be rescaled
		float newScale = button->boundingBox().size.width / (pLabel->boundingBox().size.width * button->getScaleX());
		pLabel->setScaleX(pLabel->getScaleX() * newScale);
	}

	// Add button to the menu
	menu->addChild(button, zOrder);
	
	return button;
}
bool GameMenuScene::init()
{
	if ( !CCLayer::init() )
	{
		return false;
	}

	CCSize size = CCDirector::sharedDirector()->getWinSize();    
	CCUserDefault*handler=CCUserDefault::sharedUserDefault();
	issound=handler->getBoolForKey("issound",true);
	//playaudio=new PlayAudio();
	 
	//	playaudio->bgSound();
	
	 
	
	CCSprite* bg = CCSprite::create("ui/menubg.jpg");
	 
	bg->setPosition( ccp(size.width/2, size.height/2) );
	this->addChild(bg, 0,0);
 //logo
	CCSprite*logo=CCSprite::create("ui/logo.png");
	logo->setAnchorPoint(ccp(0.5,0.5));
	this->addChild(logo,3);
	logo->setPosition(ccp(360,920));
	 
	//³õʼ»¯°´Å¥
	CCMenuItemImage *newGameItem = CCMenuItemImage::create("ui/start1.png", "ui/start2.png.png",this,menu_selector(GameMenuScene::menuNewGameCallback));
	//newGameItem->setScale(0.5);
	newGameItem->setPosition(ccp(size.width / 2,size.height / 2 - 20));
	//newGameItem->setEnabled(false);
	CCMenuItemImage *continueItem = CCMenuItemImage::create("ui/score1.png", "ui/score2.png",this,menu_selector(GameMenuScene::menuScoreCallback));
	//continueItem->setScale(0.5);
	continueItem->setPosition(ccp(size.width / 2,size.height / 2 - 195));
	//continueItem->setEnabled(false);
	CCMenuItemImage *aboutItem = CCMenuItemImage::create("ui/about1.png", "ui/about2.png",this,menu_selector(GameMenuScene::menuScoreCallback));
	//aboutItem->setScale(0.5);
	aboutItem->setPosition(ccp(size.width / 2,size.height / 2 - 280));
//	aboutItem->setEnabled(false);
	soundItem = CCMenuItemImage::create("ui/ound1.png", "ui/sound2.png",this,menu_selector(GameMenuScene::menuSoundCallback));
	//soundItem->setScale(0.5);
	soundItem->setEnabled(true);
	soundItem->setPosition(ccp(50,50));

	if(issound){
		soundItem->setNormalImage(CCSprite::create("ui/sound1.png"));
		//soundItem->setDisabledImage(CCSprite::create("sound1.png"));
	 	}else{
		soundItem->setNormalImage(CCSprite::create("ui/sound2.png"));
		//soundItem->setDisabledImage(CCSprite::create("sound2.png"));
		 	}

	quitItem = CCMenuItemImage::create("ui/back1.png", "ui/back2.png",this,menu_selector(GameMenuScene::menuQuitCallback));
	//soundItem->setScale(0.5);
	quitItem->setEnabled(false);
	quitItem->setPosition(ccp(670,50));

	CCMenu* mainmenu = CCMenu::create(newGameItem,continueItem,soundItem,quitItem,NULL);
	mainmenu->setPosition(ccp(0,0));
	this->addChild(mainmenu,1,3);

	issound = true;
	/*SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("background.mp3");
	SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);
	SimpleAudioEngine::sharedEngine()->playBackgroundMusic("background.mp3", true);
	*/


	 
	
//	 this->addChild(pNode);
	 CCMenuItemFont*menuitem1=CCMenuItemFont::create("menuitem1",
		 this,menu_selector(GameMenuScene::menu1CallBack));

	 menuitem1->setPosition(ccp(300,300));
	 CCMenu*tempmenu=CCMenu::create(menuitem1,NULL);
	 
	 this->addChild(tempmenu);

	return true;
}
Beispiel #9
0
// on "init" you need to initialize your instance
bool RectWorld::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 *pPauseItem = CCMenuItemImage::itemFromNormalImage("pause.png","pause.png",this,menu_selector(RectWorld::menuPause));
		CC_BREAK_IF(! pPauseItem);

		// Place the menu item bottom-right conner.
		pPauseItem->setPosition(ccp(22, 22));
		// Create a menu with the "close" menu item, it's an auto release object.
		CCMenu* pMenu = CCMenu::menuWithItems(pPauseItem, NULL);
		pMenu->setPosition(CCPointZero);
		pMenu->setTag(6);
		CC_BREAK_IF(! pMenu);

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

        // Create a "close" menu item with close icon, it's an auto release object.

        // Create a menu with the "close" menu item, it's an auto release object.

        // Get window size and place the label upper. 
        CCSize size = CCDirector::sharedDirector()->getWinSize();

        // 3. Add add a splash screen, show the cocos2d splash image.

        // Place the sprite on the center of the screen

		MovingBackground *bk = MovingBackground::node();

		this->addChild(bk);


		//CCParticleSystem *particle = ARCH_OPTIMAL_PARTICLE_SYSTEM::particleWithFile("tile.plist");

		//particle->setPosition(ccp(_player->getContentSize().width / 2 + size.width / 5 * 3, size.height / 2));

		//this->addChild(particle, 1);

		//this->schedule(schedule_selector(RectWorld::collision));
		this->schedule(schedule_selector(RectWorld::gameLogic), 1.0);
		this->schedule(schedule_selector(RectWorld::update));
		

		//CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this,0,true);

		if (_type == 3)
		{
			TimeLayer *timeLayer = TimeLayer :: node();
			timeLayer->setInitalTime(60);
			timeLayer->setTag(4);
			this->addChild(timeLayer, 3);

			this->schedule(schedule_selector(RectWorld::clockPassBy), 1.0f);
		}

        bRet = true;
    } while (0);

    return bRet;
}
Beispiel #10
0
bool BuyLifeLayer::init()
{
    bool bRet = false;

    do
    {
        CC_BREAK_IF (!CCLayer::init());
		CCSprite *p = CCSprite::create(g_sPanelBGImage);
		CCSize ps = p->getContentSize();

        
		CCSize s = CCDirector::sharedDirector()->getWinSize();
		CCScale9Sprite * bg = CCScale9Sprite::create(g_sPanelBGImage,CCRectMake(0,0,ps.width,ps.height),CCRectMake(20,20,ps.width-40,ps.height-40));
		this->addChild(bg);
		bg->setAnchorPoint(ccp(0,0));
		bg->setPreferredSize(CCSizeMake(s.width,s.height-beginY));
		this->setTouchEnabled(true);
		this->setTouchPriority(-999);

		p = CCSprite::create(g_sPanelBGImage2);
		ps = p->getContentSize();
		bg = CCScale9Sprite::create(g_sPanelBGImage2,CCRectMake(0,0,ps.width,ps.height),CCRectMake(20,20,ps.width-40,ps.height-40));
		this->addChild(bg);
		bg->setAnchorPoint(ccp(0,0));
		bg->setPreferredSize(CCSizeMake(s.width-20,s.height-20-beginY));
		bg->setPositionX(10);
		bg->setPositionY(10);

		CCMenuItemImage * back = CCMenuItemImage::create(g_sBackButtonUpBGImage,g_sBackButtonDownBGImage,
														this, 
														menu_selector(BuyLifeLayer::onCommandBack));
		back->setAnchorPoint(ccp(0,1));

		MyCCMenu * backMenu = MyCCMenu::create(back,NULL);
		this->addChild(backMenu);
		backMenu->setPositionX(28);
		backMenu->setPositionY(1000-beginY);
		backMenu->setTouchPriority(-1000);

		CCSprite * t2 = CCSprite::create(g_sBigLifeBGImage);
		t2->setAnchorPoint(ccp(0,1));
		t2->setPosition(ccp(82,890-beginY));
		this->addChild(t2);

		CCSprite * price2 = CCSprite::create(g_sBuy2BGImage);
		price2->setAnchorPoint(ccp(0,1));
		price2->setPosition(ccp(157,889-beginY));
		this->addChild(price2);

		CCSprite * coin2 = CCSprite::create(g_sGoldBGImage);
		coin2->setAnchorPoint(ccp(0,1));
		coin2->setPosition(ccp(392,891-beginY));
		this->addChild(coin2);

		CCMenuItemImage * buy2 = CCMenuItemImage::create(g_sOkButtonUpBGImage,g_sOkButtonDownBGImage,
														this, 
														menu_selector(BuyLifeLayer::onCommandBuy2));
		buy2->setAnchorPoint(ccp(0,1));
		MyCCMenu * buy2Menu = MyCCMenu::create(buy2,NULL);
		this->addChild(buy2Menu);
		buy2Menu->setPositionX(534);
		buy2Menu->setPositionY(907-beginY);
		buy2Menu->setTouchPriority(-1000);

		CCSprite * t5 = CCSprite::create(g_sBigLifeBGImage);
		t5->setAnchorPoint(ccp(0,1));
		t5->setPosition(ccp(82,719-beginY));
		this->addChild(t5);

		CCSprite * price5 = CCSprite::create(g_sBuy5BGImage);
		price5->setAnchorPoint(ccp(0,1));
		price5->setPosition(ccp(157,718-beginY));
		this->addChild(price5);

		CCSprite * coin5 = CCSprite::create(g_sGoldBGImage);
		coin5->setAnchorPoint(ccp(0,1));
		coin5->setPosition(ccp(392,723-beginY));
		this->addChild(coin5);

		CCMenuItemImage * buy5 = CCMenuItemImage::create(g_sOkButtonUpBGImage,g_sOkButtonDownBGImage,
														this, 
														menu_selector(BuyLifeLayer::onCommandBuy5));
		buy5->setAnchorPoint(ccp(0,1));
		MyCCMenu * buy5Menu = MyCCMenu::create(buy5,NULL);
		this->addChild(buy5Menu);
		buy5Menu->setPositionX(534);
		buy5Menu->setPositionY(736-beginY);
		buy5Menu->setTouchPriority(-1000);

		CCSprite * t21 = CCSprite::create(g_sBigLifeBGImage);
		t21->setAnchorPoint(ccp(0,1));
		t21->setPosition(ccp(82,550-beginY));
		this->addChild(t21);

		CCSprite * price21 = CCSprite::create(g_sBuy21BGImage);
		price21->setAnchorPoint(ccp(0,1));
		price21->setPosition(ccp(152,550-beginY));
		this->addChild(price21);

		CCSprite * coin21 = CCSprite::create(g_sGoldBGImage);
		coin21->setAnchorPoint(ccp(0,1));
		coin21->setPosition(ccp(439,553-beginY));
		this->addChild(coin21);

		CCMenuItemImage * buy21 = CCMenuItemImage::create(g_sOkButtonUpBGImage,g_sOkButtonDownBGImage,
														this, 
														menu_selector(BuyLifeLayer::onCommandBuy21));
		buy21->setAnchorPoint(ccp(0,1));
		MyCCMenu * buy21Menu = MyCCMenu::create(buy21,NULL);
		this->addChild(buy21Menu);
		buy21Menu->setPositionX(534);
		buy21Menu->setPositionY(569-beginY);
		buy21Menu->setTouchPriority(-1000);

		CCSprite * t60 = CCSprite::create(g_sBigLifeBGImage);
		t60->setAnchorPoint(ccp(0,1));
		t60->setPosition(ccp(82,358-beginY));
		this->addChild(t60);

		CCSprite * price60 = CCSprite::create(g_sBuy60BGImage);
		price60->setAnchorPoint(ccp(0,1));
		price60->setPosition(ccp(163,367-beginY));
		this->addChild(price60);

		CCSprite * coin60 = CCSprite::create(g_sGoldBGImage);
		coin60->setAnchorPoint(ccp(0,1));
		coin60->setPosition(ccp(455,364-beginY));
		this->addChild(coin60);

		CCMenuItemImage * buy60 = CCMenuItemImage::create(g_sOkButtonUpBGImage,g_sOkButtonDownBGImage,
														this, 
														menu_selector(BuyLifeLayer::onCommandBuy60));
		buy60->setAnchorPoint(ccp(0,1));
		MyCCMenu * buy60Menu = MyCCMenu::create(buy60,NULL);
		this->addChild(buy60Menu);
		buy60Menu->setPositionX(534);
		buy60Menu->setPositionY(378-beginY);
		buy60Menu->setTouchPriority(-1000);

		CCSprite * t130 = CCSprite::create(g_sBigLifeBGImage);
		t130->setAnchorPoint(ccp(0,1));
		t130->setPosition(ccp(82,173-beginY));
		this->addChild(t130);

		CCSprite * price130 = CCSprite::create(g_sBuy130BGImage);
		price130->setAnchorPoint(ccp(0,1));
		price130->setPosition(ccp(162,175-beginY));
		this->addChild(price130);

		CCSprite * coin130 = CCSprite::create(g_sGoldBGImage);
		coin130->setAnchorPoint(ccp(0,1));
		coin130->setPosition(ccp(480,177-beginY));
		this->addChild(coin130);

		CCMenuItemImage * buy130 = CCMenuItemImage::create(g_sOkButtonUpBGImage,g_sOkButtonDownBGImage,
														this, 
														menu_selector(BuyLifeLayer::onCommandBuy130));
		buy130->setAnchorPoint(ccp(0,1));
		MyCCMenu * buy130Menu = MyCCMenu::create(buy130,NULL);
		this->addChild(buy130Menu);
		buy130Menu->setPositionX(534);
		buy130Menu->setPositionY(193-beginY);
		buy130Menu->setTouchPriority(-1000);


		CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,this->getTouchPriority(),true);
		bRet = true;

    }while(0);

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

		CC_BREAK_IF(! CCLayerColor::initWithColor( ccc4(255,255,255,255) ) );

		//////////////////////////////////////////////////////////////////////////
		// 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.
        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));

		// 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 your codes below...
		CCSprite *player = CCSprite::create("Player.png", CCRectMake(0, 0, 27, 40) );
        
		player->setPosition( ccp(origin.x + player->getContentSize().width/2,
                                 origin.y + visibleSize.height/2) );
		this->addChild(player);

		this->schedule( schedule_selector(HelloWorld::gameLogic), 1.0 );

		this->setTouchEnabled(true);

		_targets = new CCArray;
		_projectiles = new CCArray;

		// use updateGame instead of update, otherwise it will conflit with SelectorProtocol::update
		// see http://www.cocos2d-x.org/boards/6/topics/1478
		this->schedule( schedule_selector(HelloWorld::updateGame) );

		CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("background-music-aac.wav", true);

		bRet = true;
	} while (0);

	return bRet;
}
Beispiel #12
0
bool IntroScene::init(bool firstTime)
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }
    
    //navigation
    _firstTime = firstTime;
    
    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
    
    CCMenuItemImage* nextImgItem = CCMenuItemImage::create(
                                                           "Interfeiss/buttons/arrow_r_btn0001.png",
                                                           "Interfeiss/buttons/arrow_r_btn0002.png",
                                                           this,
                                                           menu_selector(IntroScene::btNextCallback));
    
    CCMenuItemImage* prevImgItem = CCMenuItemImage::create(
                                                           "Interfeiss/buttons/arrow_l_btn0001.png",
                                                           "Interfeiss/buttons/arrow_l_btn0002.png",
                                                           this,
                                                           menu_selector(IntroScene::btPrevCallback));
    
    CCMenuItemImage* closeItem = CCMenuItemImage::create(
                                                         "Interfeiss/buttons/close_btn0001.png",
                                                         "Interfeiss/buttons/close_btn0002.png",
                                                         this,
                                                         menu_selector(IntroScene::btCloseCallback));
    
    _images[0] = "Interfeiss/intro/scene_1.png";
    _images[1] = "Interfeiss/intro/scene_2.png";
    _images[2] = "Interfeiss/intro/scene_3.png";
    _images[3] = "Interfeiss/intro/scene_4.png";
    _images[4] = "Interfeiss/intro/scene_5.png";
    
    nextImgItem->setAnchorPoint(ccp(1,0));
    prevImgItem->setAnchorPoint(ccp(0,0));
    closeItem->setAnchorPoint(ccp(1,1));
    
    CCMenu* nextMenu = CCMenu::create(nextImgItem, NULL);
    CCMenu* prevMenu = CCMenu::create(prevImgItem, NULL);
    CCMenu* closeMenu = CCMenu::create(closeItem, NULL);
    
    prevMenu->setPosition(ccp(10,10));
    nextMenu->setPosition(visibleSize.width - 10, 10);
    closeMenu->setPosition(visibleSize.width - 10, visibleSize.height - 10);
    
    _activeImage = CCSprite::create(_images[0].c_str());
    _activeImage->setAnchorPoint(ccp(0,0));
    addChild(_activeImage,0);
    _activeImg = 0;
    
    addChild(nextMenu,1);
    addChild(prevMenu,2);
//    addChild(closeMenu,3);
    
    return true;
}
Beispiel #13
0
bool GameMenu::init()
{
    if ( !CCLayer::init() )
    {
        return false;
    }
    
    CCSize size = CCDirector::sharedDirector()->getWinSize();    

    //初始化背景
    CCSprite* bg = CCSprite::create("bg.png");
    bg->setScale(0.5);
    bg->setPosition( ccp(size.width/2, size.height/2) );
    this->addChild(bg, 0,0);
    //初始化背景星球
    CCSprite*bgstar = CCSprite::create("moon.png");
    bgstar->setAnchorPoint(ccp(0.5,0));
    bgstar->setScale(0.5);
    bgstar->setPosition(ccp(size.width/3 * 2, 0));
    this->addChild(bgstar,1,1);
    //初始化标题
    CCNode *title = CCNode::create();
    title->setContentSize(CCSizeMake(size.width - 40,50));
    CCSprite *ptmLabel = CCSprite::create("meowstar.png");
    ptmLabel->setScale(0.5);
    ptmLabel->setPosition( ccp(0,30) );
    title->addChild(ptmLabel);
    CCSprite *ptbLabel = CCSprite::create("battle.png");
    ptbLabel->setScale(0.5);
    ptbLabel->setPosition( ccp(0,-30) );
    title->addChild(ptbLabel);
    title->setPosition(ccp(size.width / 2, size.height - 80));
    this->addChild(title,2,2);
    //初始化按钮
    CCMenuItemImage *newGameItem = CCMenuItemImage::create("newGameA.png", "newGameB.png",this,menu_selector(GameMenu::menuNewGameCallback));
    newGameItem->setScale(0.5);
    newGameItem->setPosition(ccp(size.width / 2,size.height / 2 - 20));
    newGameItem->setEnabled(false);
    CCMenuItemImage *continueItem = CCMenuItemImage::create("continueA.png", "continueB.png",this,menu_selector(GameMenu::menuContinueCallback));
    continueItem->setScale(0.5);
    continueItem->setPosition(ccp(size.width / 2,size.height / 2 - 80));
    continueItem->setEnabled(false);
    CCMenuItemImage *aboutItem = CCMenuItemImage::create("aboutA.png", "aboutB.png",this,menu_selector(GameMenu::menuAboutCallback));
    aboutItem->setScale(0.5);
    aboutItem->setPosition(ccp(size.width / 2,size.height / 2 - 140));
    aboutItem->setEnabled(false);
    soundItem = CCMenuItemImage::create("sound-on-A.png", "sound-on-B.png",this,menu_selector(GameMenu::menuSoundCallback));
    soundItem->setScale(0.5);
    soundItem->setEnabled(false);
    soundItem->setPosition(ccp(40,40));
    //使用按钮创建菜单
    CCMenu* mainmenu = CCMenu::create(newGameItem,continueItem,aboutItem,soundItem,NULL);
    mainmenu->setPosition(ccp(0,0));
    this->addChild(mainmenu,1,3);
    //初始化声音部分
    issound = true;//是否开启声音参数
    SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("background.mp3") );
    SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);
    SimpleAudioEngine::sharedEngine()->playBackgroundMusic(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("background.mp3")).c_str(), true);
    return true;
}
// 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...
		//////////////////////////////////////////////////////////////////////////

		CC_BREAK_IF(! CCLayerColor::initWithColor(ccc4(255, 255, 255, 255)));


		// 1. Add a menu item with "X" image, which is clicked to quit the program.
		//Background
		CCSize size = CCDirector::sharedDirector()->getWinSize();
		CCSprite *backgroud = CCSprite::create("MainMenu.png");
		CC_BREAK_IF(! backgroud);

		backgroud->setPosition(ccp(size.width / 2, size.height / 2));
		this->addChild(backgroud);
		// 2. Add a label shows "Hello World".

		// Create a label and initialize with string "Hello World".
// 		const char *title = "俄罗斯方块";
// 		const char *startGame = "开始游戏";
// 		const char *gameSet = "游戏设置";
// 		const char *score = "游戏得分";
// 		const char *gameOver = "游戏结束";

/*		const char *title = "TetrisGame";*/
// 		const char *startGame = "startGame";
// 		const char *gameSet = "gameSet";
// 		const char *score = "score";
// 		const char *gameOver = "gameEnd";

// 		CCLabelTTF* pLabel = CCLabelTTF::create(title, "Arial", 36);
// 		CC_BREAK_IF(! pLabel);
// 
// 		// Get window size and place the label upper. 
// 		pLabel->setPosition(ccp(size.width / 2, size.height * 4 / 5));
// 
// 		pLabel->setColor(ccc3(255, 255, 255));
// 		// Add the label to HelloWorld layer as a child layer.
// 		this->addChild(pLabel, 1);


		// 加入4个行走方向的控制菜单
// 		CCMenuItem *first = CCMenuItemFont::create(startGame, this, menu_selector(HelloWorld::menuCallbackStart));
// 		CCMenuItem *second = CCMenuItemFont::create(gameSet, this, menu_selector(HelloWorld::menuCallbackSet));
// 		CCMenuItem *third = CCMenuItemFont::create(score, this, menu_selector(HelloWorld::menuCallbackScore));
// 		CCMenuItem *forth = CCMenuItemFont::create(gameOver, this, menu_selector(HelloWorld::menuCallbackEnd));


// 		CCMenu *menu = CCMenu::create(first, second, third, forth, NULL);
// 		menu->setColor(ccc3(255, 255, 255));
		// 为了查找方便,给菜单项设置tag
		//down->setTag(kDown);
		//left->setTag(kLeft);
		//right->setTag(kRight);
		//up->setTag(kUp);
		// 菜单项按间距垂直排列
// 		menu->alignItemsVerticallyWithPadding(50);
// 		this->addChild(menu

		CCMenuItemImage *play = CCMenuItemImage::create(
			"play.png", 
			"play.png",
			this,
			menu_selector(HelloWorld::menuCallbackStart));
		play->setAnchorPoint(ccp(0, 0));
		play->setPosition(ccp(size.width / 4, (size.height * 2) / 5));
		

		CCMenuItemImage *end = CCMenuItemImage::create(
			"end.png", 
			"end.png",
			this,
			menu_selector(HelloWorld::menuCallbackEnd));
		end->setAnchorPoint(ccp(0, 0));
		end->setPosition(ccp(size.width / 4, (size.height * 2) / 7));

		CCMenu *menu = CCMenu::create(play, end, NULL);
		menu->setAnchorPoint(ccp(0, 0));
		menu->setPosition(ccp(0, 0));
		this->addChild(menu);


		bRet = true;
	} while (0);

	return bRet;
}
Beispiel #15
0
bool Combat::init(int monsterType)
{
	CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
	CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
  
  // Switch BGM
  AudioPlayer::PlayCombatBGM();
  
	//角色创建
	cplayer = CPlayer::create();
	cplayer->setPlayer();
	this->addChild(cplayer);
	monster = Monster::create();
	monster->setMonster(monsterType);


	this->addChild(monster);
	//血条创建
	playerblood = Blood::create();
	playerblood->setBloodSlider();
	playerblood->setSliderPosition(ccp(150,visibleSize.height-50));
	playerblood->setTotalBlood(cplayer->healthPoint);
	playerblood->setCurrentBlood(cplayer->currentHp);	
	monsterblood = Blood::create();
	monsterblood->setBloodSlider();
	monsterblood->setSliderPosition(ccp(visibleSize.width-150,visibleSize.height-50));
	monsterblood->setTotalBlood(monster->healthPoint);
	monsterblood->setCurrentBlood(monster->currentHp);
	this->addChild(playerblood);
	this->addChild(monsterblood);

	//等级与当前血量label
	/*等级*/
	char level[10],blood[10];
	sprintf(level,LEVEL_LBL,cplayer->level);
	plevelLabel = CCLabelTTF::create(level, LABEL_FONT,20);
	plevelLabel->setPosition(ccp(60,visibleSize.height-20));
	this->addChild(plevelLabel,2);
	sprintf(level,LEVEL_LBL,monster->level);
	mlevelLabel = CCLabelTTF::create(level, LEVEL_LBL,20);
	mlevelLabel->setPosition(ccp(visibleSize.width-60,visibleSize.height-20));
	this->addChild(mlevelLabel,2);
	/*血量*/
	sprintf(blood,HEALTH_LBL,cplayer->currentHp);
	pbloodLabel = CCLabelTTF::create(blood,LABEL_FONT,20);
	pbloodLabel->setPosition(ccp(240,visibleSize.height-20));
	this->addChild(pbloodLabel,2);
	sprintf(blood,HEALTH_LBL,monster->currentHp);
	mbloodLabel = CCLabelTTF::create(blood,LABEL_FONT,20);
	mbloodLabel->setPosition(ccp(visibleSize.width-240,visibleSize.height-20));
	this->addChild(mbloodLabel,2);



	//按钮创建
	playerbutton = AbilityButton::create();
	monsterbutton = AbilityButton::create();
	playerbutton->CreateButton();
	playerbutton->setButtonPosition(ccp(50,50));
	playerbutton->updateDamage(cplayer->level);
	monsterbutton->CreateButton();
	monsterbutton->setButtonPosition(ccp(480,50));
	monsterbutton->LockButtonTouch();
	monsterbutton->updateDamage(monster->level);

	if (monsterType==0)
	{
		CCMenuItemImage *pCloseItem = CCMenuItemImage::create(RUN_BTN_IMG_PATH,RUN_DOWN_BTN_IMG_PATH,this,menu_selector(Combat::exitCombat));
		pCloseItem->setPosition(ccp(visibleSize.width/2,50));
		CCMenu* pMenu = CCMenu::create(pCloseItem,NULL);
		pMenu->setPosition(CCPointZero);
		this->addChild(pMenu);
	}

	this->addChild(playerbutton);
	this->addChild(monsterbutton);

	//游戏结束Label
	winLabel = CCLabelTTF::create(YOU_WIN_LBL, LABEL_FONT, 80);
	loseLabel = CCLabelTTF::create(YOU_LOSE_LBL, LABEL_FONT, 80);
	winLabel->setPosition(ccp(visibleSize.width/2-20,visibleSize.height/2+20));
	loseLabel->setPosition(ccp(visibleSize.width/2-20,visibleSize.height/2+20));
	winLabel->setVisible(false);
	loseLabel->setVisible(false);
	this->addChild(winLabel);
	this->addChild(loseLabel);

	//schedule监听,每帧刷新一次
	this->scheduleUpdate();

	//订阅播放动画的消息
	CCNotificationCenter::sharedNotificationCenter()->addObserver(this,callfuncO_selector(Combat::playAnimation),ANIMATION_MSG,NULL);
	//订阅游戏结束
	CCNotificationCenter::sharedNotificationCenter()->addObserver(this,callfuncO_selector(Combat::gameOver),GAME_OVER_MSG,NULL);

	return true;
}
Beispiel #16
0
TanSuoLayer::TanSuoLayer()
{
	m_nFontSize = 24;
	m_nMaxCountDestroy = 3;
	m_bIsJieFeng = false;
	m_nSelectProId = -1;
	mBg = BaseSprite::create("xunbao_bg.png");
	addChild(mBg);
	mBg->setPosition(ccp(mWinSize.width/2, mBg->getContentSize().height/2));
	mMainMenu = CCMenu::create();
	mBg->addChild(mMainMenu, 10);
	mMainMenu->setPosition(ccp(0,0));
	CCMenuItemImage *yijian = CCMenuItemImage::create(
		"xunbao_anniu_yijianxunbao.png",
		"xunbao_anniu_yijianxunbao_select.png",
		this, menu_selector(TanSuoLayer::menuItemClicked_TanSuo));
	mMainMenu->addChild(yijian, 0, Tag_MenuItem_YiJianTanSuo);
	yijian->setPosition(ccp(548,mBg->getContentSize().height-674));

	Button *tansuo = Button::create();
	tansuo->loadTextures("xunbao_anniu_xunbao.png","xunbao_anniu_xunbao_select.png","xunbao_anniu_xunbao_select.png",UI_TEX_TYPE_LOCAL);
	/*CCMenuItemImage *tansuo = CCMenuItemImage::create(
		"xunbao_anniu_xunbao.png",
		"xunbao_anniu_xunbao_select.png",
		this, menu_selector(TanSuoLayer::menuItemClicked_TanSuo));*/
	tansuo->addTouchEventListener(this,SEL_TouchEvent(&TanSuoLayer::clickXunBao));

	


	UILayer* layer = UILayer::create();
	layer->ignoreAnchorPointForPosition(false);
	layer->setContentSize(tansuo->getContentSize());
	layer->setAnchorPoint(ccp(0.5,0.5));
	layer->addWidget(tansuo);
	layer->setPosition(320,mBg->getContentSize().height-674);//以前cpp(x,y) 现在左边 都是Point  比如颜色 ccWHITE 也改成了Color3B::WHITE
	mBg->addChild(layer);
	tansuo->setPosition(ccp(tansuo->getContentSize().width / 2 , tansuo->getContentSize().height / 2));

	m_sXunBaoSpr = CCSprite::create("xunbao_anniu_xunbao_xiaoguo.png");
	m_sXunBaoSpr->setPosition(ccp(320,mBg->getContentSize().height-674));
	mBg->addChild(m_sXunBaoSpr);
	m_sXunBaoSpr->runAction(CCRepeatForever::create(CCSequence::create(CCFadeOut::create(1.0f),CCFadeIn::create(1.0f),NULL)));
	//mMainMenu->addChild(tansuo, 0, Tag_MenuItem_TanSuo);
	//tansuo->setPosition(ccp(320,mBg->getContentSize().height-674));
	{
		CCMenuItemImage *jiefen = CCMenuItemImage::create(
			"xunbao_anniu_jiechufengyin.png",
			"xunbao_anniu_jiechufengyin_select.png",
			this, menu_selector(TanSuoLayer::menuItemClicked_TanSuo));
		mMainMenu->addChild(jiefen, 0, Tag_MenuItem_JieFen);
		jiefen->setPosition(ccp(320,mBg->getContentSize().height-437));
		jiefen->setVisible(false);
		CCSprite *img = CCSprite::create("xunbao_anniu_jiechufengyin_xiaoguo.png");
		jiefen->addChild(img);
		img->setPosition(ccp(jiefen->getContentSize().width/2, jiefen->getContentSize().height/2));
		img->runAction(CCRepeatForever::create(CCSequence::create(
			CCFadeTo::create(1, 50), CCFadeTo::create(1, 255), NULL)));
	}
	mMainMenu->setVisible(false);

	//title
	CCLabelTTF *tilte = CCLabelTTF::create(LFStrings::getValue("XunBaoShuoMing").c_str(), fontStr_kaiti, m_nFontSize);
	mBg->addChild(tilte);
	tilte->setColor(fonColor_PuTong);
	tilte->setPosition(ccp(mBg->getContentSize().width/2, mBg->getContentSize().height-110));
	//2
	CCLabelTTF *la1 = CCLabelTTF::create(LFStrings::getValue("XunBaoJieFeng").c_str(), fontStr_kaiti, m_nFontSize);
	mBg->addChild(la1);
	la1->setAnchorPoint(ccp(0, 0.5));
	la1->setColor(fonColor_CiYao);
	la1->setPosition(ccp(134, mBg->getContentSize().height-140));
	CCLabelTTF *la2 = CCLabelTTF::create((LFStrings::getValue("shenbing")+LFStrings::getValue("zhuangbei")).c_str()
		, fontStr_kaiti, m_nFontSize);
	la1->addChild(la2);
	la2->setColor(ImageManager::getManager()->getShowColor(ZhuangbeiColour_Chuanqi, false, false));
	la2->setPosition(ccp(la1->getContentSize().width+la2->getContentSize().width/2, la1->getContentSize().height/2));
	la1->setPositionX((mBg->getContentSize().width-la1->getContentSize().width-la2->getContentSize().width)/2);

}
Beispiel #17
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", 24);
    
    // position the label on the center of the screen
    pLabel->setPosition(ccp(origin.x + visibleSize.width/2,
                            origin.y + visibleSize.height - pLabel->getContentSize().height));
    
    CCLOG("%.2f,%.2f\n",pMenu->getContentSize().width,pMenu->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);
    
    return true;
}
Beispiel #18
0
bool MPJonsMapLayer::init()
{
    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
    
	// Exit button
    
    CCMenuItemImage *backItem = CCMenuItemImage::create(
                                                        "CloseNormal.png",
                                                        "CloseSelected.png",
                                                        this,
                                                        menu_selector(MPJonsMapLayer::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("JonMap/Random.tmx");
    this->addChild(map, 0);

    MPJonsMapLayer::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);
	
	CCSize mapSize = map->getContentSize();
	float mapHeight = mapSize.height;
	float mapWidth = mapSize.width;

//	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 #19
0
void TetrisGameLayer::startGame(){
    
    G_current_HandleType = new LongBlock_Type();
    G_current_HandleType->init();
    
    CCSize size = CCDirector::sharedDirector()->getWinSize();
    //控制按钮//
    CCMenuItemImage * left = CCMenuItemImage::create("left.png", "left.png");
    left->setTarget(this, menu_selector(TetrisGameLayer::leftButtonPressed));
    left->setScale(0.5);
    CCMenuItemImage * right = CCMenuItemImage::create("right.png", "right.png");
    right->setTarget(this, menu_selector(TetrisGameLayer::rightButtonPressed));
    left->setAnchorPoint(ccp(0, 0));
    right->setAnchorPoint(ccp(0, 0));
    right->setScale(0.5);
    right->setPosition(ccp(size.width/2+size.width/4, 0));
    
    CCMenuItemImage * down = CCMenuItemImage::create("down.png", "down.png");
    down->setTarget(this, menu_selector(TetrisGameLayer::downButtonPressed));
    down->setAnchorPoint(ccp(0,0));
    down->setScale(0.5);
    down->setPosition(ccp(size.width/2 -100,0));
    down->setOpacity(0.7*255);
    
    CCMenu * menu = CCMenu::create(left,down,right, NULL);
    menu->setAnchorPoint(ccp(0, 0));
    menu->setPosition(ccp(0, 0));
    this->addChild(menu);
}
Beispiel #20
0
void MainGameScene::makeResumeDaialog()
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();
    
    
    //CCSpriteで作ると、タッチ判定無効とかめんどくさいからBGもMenuItemで作る
    CCMenuItemImage* resumeBG = CCMenuItemImage::create("logo_Info2.png","logo_Info2.png");
    resumeBG->setScale(0.7);
    resumeBG->setPosition(ccp(winSize.width * 0.5, winSize.height * 0.5));
    resumeBG->setEnabled(false);
    
    CCSize pResumeBGSize = resumeBG->getContentSize();
    CCLabelTTF* resumeLabel;
    
    resumeLabel = CCLabelTTF::create(NKLocalizedString::LocalizedString("resume", "RESUME"), "Copperplate", 60.0);
    resumeLabel->setColor(ccc3(0, 0, 0));
    resumeLabel->setPosition(ccp(pResumeBGSize.width * 0.5 ,pResumeBGSize.height * 0.7));
    resumeBG->addChild(resumeLabel);
   
    
    CCMenuItemImage* titleItem = CCMenuItemImage::create("button1.png","button1.png" ,this, menu_selector(MainGameScene::tapTitleButton));
    titleItem->setPosition(ccp(winSize.width * 0.3, winSize.height * 0.47));
    
    
    CCLabelTTF* titleLabel;
    titleLabel = CCLabelTTF::create("TITLE", "Arial", 30.0);
    
    CCSize pTitleItemSize = titleItem->getContentSize();
    titleLabel->setPosition(ccp(pTitleItemSize.width / 2 ,pTitleItemSize.height / 2));
    titleItem->addChild(titleLabel);
    titleItem->setScale(0.8);

    
    
    CCMenuItemImage* returnGameItem = CCMenuItemImage::create("button2.png","button2.png" ,this, menu_selector(MainGameScene::returnMainGame));
    returnGameItem->setPosition(ccp(winSize.width * 0.7, winSize.height * 0.47));
    
    CCLabelTTF* returnGameLabel;
    returnGameLabel = CCLabelTTF::create("CANCEL", "Arial", 30.0);
    
    CCSize pReturnGameSize = returnGameItem->getContentSize();
    returnGameLabel->setPosition(ccp(pReturnGameSize.width / 2 ,pReturnGameSize.height / 2));
    returnGameItem->addChild(returnGameLabel);
    returnGameItem->setScale(0.8);
    
    CCMenuItemImage* retryGameItem = CCMenuItemImage::create("button3.png","button3.png" ,this, menu_selector(MainGameScene::doRetry));
    retryGameItem->setPosition(ccp(winSize.width * 0.5, winSize.height * 0.39));
    
    CCLabelTTF* retryGameLabel;
    retryGameLabel = CCLabelTTF::create("RETRY", "Arial", 30.0);
    
    CCSize pRetryGameSize = retryGameItem->getContentSize();
    retryGameLabel->setPosition(ccp(pRetryGameSize.width / 2 ,pRetryGameSize.height / 2));
    retryGameItem->addChild(retryGameLabel);
    retryGameItem->setScale(0.8);

    
    
    CCMenu* resumeDialog = CCMenu::create(resumeBG, titleItem, returnGameItem,retryGameItem,NULL);
    resumeDialog->setPosition(CCPointZero);
    resumeDialog->setTag(tagResumeDialog);
    resumeDialog->setOpacity(0);
    resumeDialog->setZOrder(Z_ORDER_RESUME_DIALOG);
    resumeDialog->setEnabled(false);
    this->addChild(resumeDialog);
}
// 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;
    } while (0);

    return bRet;
}
Beispiel #22
0
void LoginLayer::option(CCObject* pSender) {
    for (int i = 0; i < 5; ++i) {
        CCSprite* spBtnBg = (CCSprite*)this->getChildByTag(SVRBG_SELECT + i);
        spBtnBg->setVisible(false);
        CCLabelTTF* svrName = (CCLabelTTF*)this->getChildByTag(SVR_NAME + i);
        svrName->setColor(ccc3(227, 168, 105));
        svrName->setScale(1);
    }
    CCMenuItemImage* pItemImage = (CCMenuItemImage*)pSender;
    
    switch (pItemImage->getTag() - SVRBG_NORMAL) {
        case 0:
        {
            NetConnection* pNetConnection = NetConnection::getInstance();
            
            pNetConnection->setUUU(HTTP_SERVER_URL);
            CCUserDefault::sharedUserDefault()->setIntegerForKey(LOGIN_SERVER_KEY, 0);
            CCUserDefault::sharedUserDefault()->flush();
            
            m_pGameState->setServerId(0);
            
            CCSprite* spBtnBg =  (CCSprite*)this->getChildByTag(SVRBG_SELECT);
            spBtnBg->setVisible(true);
            CCLabelTTF* svrName = (CCLabelTTF*)this->getChildByTag(SVR_NAME);
            svrName->setColor(ccc3(255, 215, 0));
            svrName->setScale(1.1);
        }
            break;
        case 1:
        {
            NetConnection* pNetConnection = NetConnection::getInstance();
            pNetConnection->setUUU(HTTP_SERVER_URL1);
            CCUserDefault::sharedUserDefault()->setIntegerForKey(LOGIN_SERVER_KEY, 1);
            CCUserDefault::sharedUserDefault()->flush();
            
            m_pGameState->setServerId(1);
            
            CCSprite* spBtnBg =  (CCSprite*)this->getChildByTag(SVRBG_SELECT + 1);
            spBtnBg->setVisible(true);
            CCLabelTTF* svrName = (CCLabelTTF*)this->getChildByTag(SVR_NAME + 1);
            svrName->setColor(ccc3(255, 215, 0));
            svrName->setScale(1.1);
        }
            break;
        case 2:
        {
            CCSprite* spBtnBg =  (CCSprite*)this->getChildByTag(SVRBG_SELECT+2);
            spBtnBg->setVisible(true);
            CCLabelTTF* svrName = (CCLabelTTF*)this->getChildByTag(SVR_NAME+2);
            svrName->setColor(ccc3(255, 215, 0));
            svrName->setScale(1.1);
        }
            break;
        case 3:
        {
            CCSprite* spBtnBg =  (CCSprite*)this->getChildByTag(SVRBG_SELECT+3);
            spBtnBg->setVisible(true);
            CCLabelTTF* svrName = (CCLabelTTF*)this->getChildByTag(SVR_NAME+2);
            svrName->setColor(ccc3(255, 215, 0));
            svrName->setScale(1.1);
        }
            break;
        case 4:
        {
            CCSprite* spBtnBg =  (CCSprite*)this->getChildByTag(SVRBG_SELECT+4);
            spBtnBg->setVisible(true);
            CCLabelTTF* svrName = (CCLabelTTF*)this->getChildByTag(SVR_NAME+2);
            svrName->setColor(ccc3(255, 215, 0));
            svrName->setScale(1.1);
        }
            break;
        default:
            CCAssert(false, "invalid server");
            break;
    }
}
Beispiel #23
0
//添加3个选关按钮
void MenuScene::initSceneChoose()
{
    float pngWidth = 362.0;
    float xSpace = (size.width - pngWidth*3)/4;
    
    //添加练习场菜单项
    CCActionInterval* scaleToex1 = CCScaleTo::create(kScaleDuration1, kScaleRitio, kScaleRitio-0.03);
    CCActionInterval* scaleToex2 = CCScaleTo::create(kScaleDuration1, kScaleRitio-0.02, kScaleRitio);
    CCSequence* sequence1 = CCSequence::create(scaleToex1,scaleToex2,NULL);
    CCActionInterval* rotate1 = CCRepeatForever::create(sequence1);
    
    CCMenuItemImage *exersize = CCMenuItemImage::create("ZF_Shoot_Button_lxc.png", "ZF_Shoot_Button_lxc.png", this, menu_selector(MenuScene::menuChoseScene));
    exersize->setPosition(ccp(xSpace+pngWidth/2, size.height/2));
    exersize->setScale(kScaleRitio);
    exersize->setTag(kExserciseTag);
    exersize->runAction(rotate1);
    
    //添加平民场菜单项
    CCActionInterval* scaleTope1 = CCScaleTo::create(kScaleDuration1, kScaleRitio, kScaleRitio-0.03);
    CCActionInterval* scaleTope2 = CCScaleTo::create(kScaleDuration1, kScaleRitio-0.02, kScaleRitio);
    CCSequence* sequence2 = CCSequence::create(scaleTope1,scaleTope2,NULL);
    CCActionInterval* rotate2 = CCRepeatForever::create(sequence2);
    CCMenuItemImage *people = CCMenuItemImage::create("ZF_Shoot_Button_pmc.png", "ZF_Shoot_Button_pmc.png", this, menu_selector(MenuScene::menuChoseScene));
    people->setPosition(ccp(xSpace*2+pngWidth*1.5, size.height/2));
    people->setScale(kScaleRitio);
    people->setTag(kPeopleTag);
    people->runAction(rotate2);
    
    //添加富豪场菜单项
    CCActionInterval* scaleTori1 = CCScaleTo::create(kScaleDuration1, kScaleRitio, kScaleRitio-0.03);
    CCActionInterval* scaleTori2 = CCScaleTo::create(kScaleDuration1, kScaleRitio-0.02, kScaleRitio);
    CCSequence* sequence3 = CCSequence::create(scaleTori1,scaleTori2,NULL);
    CCActionInterval* rotate3 = CCRepeatForever::create(sequence3);
    CCMenuItemImage *rich = CCMenuItemImage::create("ZF_Shoot_Button_hhc.png", "ZF_Shoot_Button_hhc.png", this, menu_selector(MenuScene::menuChoseScene));
    rich->setPosition(ccp(xSpace*3+pngWidth*2.5, size.height/2));
    rich->setScale(kScaleRitio);
    rich->setTag(kRichTag);
    rich->runAction(rotate3);
    
    //集成到菜单容器
    richMenu = CCMenu::create(rich,people,exersize,NULL);
    richMenu->setPosition(CCPointZero);
    this->addChild(richMenu,1);
}
Beispiel #24
0
void LoginLayer::_initComponent() {
    CCSize size = CCDirector::sharedDirector()->getVisibleSize();
    
    /* 大游戏之名字 */
    CCSprite* nameOfGame = CCSprite::create("GAME_NAME.png");
    nameOfGame->setPosition(ccp(size.width / 2, size.height - 120));
    addChild(nameOfGame, 10);
    
    /* 可移动背景 */
    srand( (unsigned)time( NULL ) );
    int x = rand() % 2;
    int y = rand() % 1500;
    
    CCSprite* pLoginBg = CCSprite::create("bg_big.png");
    pLoginBg->setAnchorPoint(CCPointZero);
    pLoginBg->setPosition(ccp(-y/*(LOGIN_BG_WIDTH - size.width) / 2*/, 0));
    this->addChild(pLoginBg);
    if (x == 0) {
        CCActionInterval * move = CCMoveTo::create(LOGIN_BG_TIME, ccp(size.width - LOGIN_BG_WIDTH, 0));
        CCActionInterval * move1 = CCMoveTo::create(LOGIN_BG_TIME, ccp(0, 0));
        CCFiniteTimeAction * seq= CCSequence::create(move, move1, NULL);
        CCActionInterval * repeatForever =CCRepeatForever::create((CCActionInterval* )seq);
        pLoginBg->runAction(repeatForever);
    } else if (x == 1) {
        CCActionInterval * move = CCMoveTo::create(LOGIN_BG_TIME, ccp(0, 0));
        CCActionInterval * move1 = CCMoveTo::create(LOGIN_BG_TIME, ccp(size.width - LOGIN_BG_WIDTH, 0));
        CCFiniteTimeAction * seq= CCSequence::create(move, move1, NULL);
        CCActionInterval * repeatForever =CCRepeatForever::create((CCActionInterval* )seq);
        pLoginBg->runAction(repeatForever);
    }
    
    /* 效果火焰 */
    CCParticleSystemQuad* particle = CCParticleSystemQuad::create("dzt3.plist");
    particle->setAnchorPoint(CCPointZero);
    particle->setPosition(ccp(320, 0));
    particle->setScaleX(0.9);
    particle->setAutoRemoveOnFinish(true);
    
    addChild(particle, 11);
    
    /* 火星 */
    CCParticleSystemQuad* particlefire = CCParticleSystemQuad::create("firefly.plist");
    particlefire->setAnchorPoint(CCPointZero);
    particlefire->setPosition(ccp(0, 800));
    particlefire->setAutoRemoveOnFinish(true);
    addChild(particlefire, 11);
    
    /* 火星1 */
    CCParticleSystemQuad* particlefire1 = CCParticleSystemQuad::create("firefly2.plist");
    particlefire1->setAnchorPoint(CCPointZero);
    particlefire1->setPosition(ccp(0, 800));
    particlefire1->setAutoRemoveOnFinish(true);
    addChild(particlefire1, 11);
    
    /* 开始游戏按钮 */
    CCMenuItemImage *pLoginBtn = CCMenuItemImage::create( "pre.png",
                                                         "def.png",
                                                         this,
                                                         menu_selector(LoginLayer::gameInit));
    pLoginBtn->setAnchorPoint(ccp(0.5, 0));
    pLoginBtn->setPosition(ccp(size.width / 2, 70));
    CCMenu* pLoginMenu = CCMenu::create(pLoginBtn, NULL);
    pLoginMenu->setAnchorPoint(CCPointZero);
    pLoginMenu->setPosition(CCPointZero);
    this->addChild(pLoginMenu);
    CCSprite* startFont = CCSprite::create("start.png");
    startFont->setAnchorPoint(ccp(0.5, 0));
    startFont->setPosition(ccp(size.width / 2, 115));
    this->addChild(startFont);
    CCActionInterval * scale = CCScaleTo::create(1, 1.2);
    CCActionInterval * scale1 = CCScaleTo::create(1.5, 1);
    CCFiniteTimeAction * seq= CCSequence::create(scale,scale1,NULL);
    CCActionInterval * repeatForever =CCRepeatForever::create((CCActionInterval* )seq);
    startFont->runAction(repeatForever);
    
    /* 服务器列表滚动视图 */
    /*
     m_scrollView = CCScrollView::create(VIEW_SIZE);
     m_scrollView->setViewSize(VIEW_SIZE);
     m_scrollView->setContentSize(CCSizeMake(62*5, VIEW_SIZE.height));
     m_scrollView->setAnchorPoint(ccp(0, 0));
     m_scrollView->setPosition(SCROLLVIEW_OFFSETX, OFFSET_1136 + SCROLLVIEW_OFFSETY);
     m_scrollView->setDirection(kCCScrollViewDirectionHorizontal);
     m_scrollView->setBounceable(true);
     m_scrollView->setDelegate(this);
     this->addChild(m_scrollView);
     */
    
    for (int i = 0; i < 5; ++i) {
        CCMenuItemImage *pSvrBtn = CCMenuItemImage::create( "LG_nor.png",
                                                           "LG_nor.png",
                                                           this,
                                                           menu_selector(LoginLayer::option));
        pSvrBtn->setTag(SVRBG_NORMAL + i);
        pSvrBtn->setAnchorPoint(ccp(0, 0));
        pSvrBtn->setPosition(ccp(SCROLLVIEW_OFFSETX + 60 * i, m_pGameState->getBottomOffset() + SCROLLVIEW_OFFSETY));
        CCMenu* pMenu = CCMenu::create(pSvrBtn, NULL);
        pMenu->setAnchorPoint(ccp(0, 0));
        pMenu->setPosition(ccp(0, 0));
        this->addChild(pMenu);
        /* 服务器名字 */
        CCLabelTTF* svrName = CCLabelTTF::create("", "Arial", 30, CCSizeMake(35, 300), kCCTextAlignmentCenter);
        svrName->setAnchorPoint(ccp(0.5, 0));
        svrName->setColor(ccc3(255, 215, 0));
        svrName->setPosition(ccp(SCROLLVIEW_OFFSETX + 37.0f + 60.0f * i,
                                 m_pGameState->getBottomOffset() + SCROLLVIEW_OFFSETY + 75.0f));
        this->addChild(svrName, 2, SVR_NAME + i);
        
        /* 选中背景状态 */
        CCSprite* pSvrBtnBg = CCSprite::create("LG_sel.png");
        pSvrBtnBg->setAnchorPoint(ccp(0, 0));
        pSvrBtnBg->setPosition(ccp(SCROLLVIEW_OFFSETX + 60.0f * i,
                                   m_pGameState->getBottomOffset() + SCROLLVIEW_OFFSETY - 10.0f));
        pSvrBtnBg->setVisible(false);
        this->addChild(pSvrBtnBg, 1, SVRBG_SELECT + i);
    }
    
    unsigned int server_id = CCUserDefault::sharedUserDefault()->getIntegerForKey(LOGIN_SERVER_KEY, 0);
    /* 更改服务器名 */
    if (0 == server_id) {
        CCLabelTTF* svrName = (CCLabelTTF*)this->getChildByTag(SVR_NAME);
        svrName->setScale(1.1);
        svrName->setString("体验服务器");
        
        CCLabelTTF* svrName1 = (CCLabelTTF*)this->getChildByTag(SVR_NAME+1);
        svrName1->setString("研发服务器");
        
        m_serverid[0] = 0;
        m_serverid[1] = 1;
        
        CCSprite* sp = (CCSprite*)this->getChildByTag(SVRBG_SELECT); /*默认第一个选中*/
        sp->setVisible(true);
        
    } else {
        
        CCLabelTTF* svrName = (CCLabelTTF*)this->getChildByTag(SVR_NAME);
        svrName->setString("体验服务器");
        
        CCLabelTTF* svrName1 = (CCLabelTTF*)this->getChildByTag(SVR_NAME + 1);
        svrName1->setString("研发服务器");
        svrName1->setScale(1.1);
        
        m_serverid[0] = 0;
        m_serverid[1] = 1;
        
        CCSprite* sp1 = (CCSprite*)this->getChildByTag(SVRBG_SELECT + 1);
        sp1->setVisible(true);
    }
    
    /* 登陆框,待改善 */
    // 取出存储的用户 id
    std::string strUserId = CCUserDefault::sharedUserDefault()->getStringForKey(USER_NAME_KEY);
    LoginBox* login = LoginBox::create();
    login->setPosition(ccp(100, 200));
    login->setContent(strUserId);
    addChild(login, 100, LOGIN_ID_TAG);
}
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }
    
    this->setTouchEnabled(true);
    /////////////////////////////
    // 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(MENU_POSITION_CLOSE );
    
    // create menu, it's an autorelease object
    CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
    pMenu->setPosition( CCPointZero );
    this->addChild(pMenu, 1);
    
    // create gen menu
    CCMenuItemImage *ptestItem1 = CCMenuItemImage::create("gen.png", "gen.png",this,menu_selector(HelloWorld::menuOfGen));
    
    ptestItem1->setPosition(MENU_POSITION_GEN);
    CCMenu *ptestMenu1 = CCMenu::create(ptestItem1,NULL);
    ptestMenu1->setPosition(CCPointZero);
    this->addChild(ptestMenu1,5);
    
    
    /////////////////////////////
    // 3. add your codes below...
    
 
    // create label of pokers
    
    _pRightPoker = CCLabelAtlas::create("0123456789", "bignumber.png", 36, 80, '0') ;
    _pLeftPoker = CCLabelAtlas::create("0123456789", "bignumber.png", 36, 80, '0') ;
    
    _pRightPoker->setPosition(LABEL_POSITION_RIGHTPOKER);
    _pLeftPoker->setPosition( LABEL_POSITION_LEFTPOKER);
    
    _pLeftPoker->setString("");
    _pRightPoker->setString("");
    
    this->addChild(_pRightPoker,10);
    this->addChild(_pLeftPoker,11);
    
    //create label of Wins
    _pWins = CCLabelTTF::create("0","Marker Felt",50);
    _pWins->setPosition(LABEL_POSITION_WINS);
    this->addChild(_pWins);
    
    //create label of mynumber
    _pMyNumberLabel = CCLabelAtlas::create("0123456789", "scorenumber.png", 34, 60, '0') ;
    
    _pMyNumberLabel->setPosition( LABEL_POSITION_MYNUMBER);
    
    
    _pMyNumberLabel->setString("98");

    this->addChild(_pMyNumberLabel, 1);
    
    // add my number sprite
    CCSprite *pScore = CCSprite::create("scoreframe.png");
    pScore->setPosition(SPRITE_POSITION_SCORE);
    pScore->setTag(SCORETAG);
    
    this->addChild(pScore);
    
    // add two poker sprites
    CardSprite *pPokerLeftSide = CardSprite::create("poker.png","poker.png",1,callfuncN_selector(HelloWorld::flipLeftCard),this);
    CardSprite *pPokerRightSide = CardSprite::create("poker.png","poker.png",1,callfuncN_selector(HelloWorld::flipRightCard),this);
    
    pPokerLeftSide->setPosition(SPRITE_POSITION_LEFTPOKER);
    pPokerRightSide->setPosition(SPRITE_POSITION_RIGHTPOKER);
    pPokerLeftSide->setTag(LEFTPOKERTAG);
    pPokerRightSide->setTag(RIGHTPOKERTAG);
    
    this->addChild(pPokerRightSide, 1);
    this->addChild(pPokerLeftSide, 2);
    
    
    // add get and ok item for action 
    CCSprite *getItem = CCSprite::create("get.png");
    getItem->setPosition(SPRITE_POSITION_GET);
    getItem->setTag(GETTAG);
    
    CCSprite *okItem = CCSprite::create("ok.png");
    okItem->setPosition(SPRITE_POSITION_OK);
    okItem->setTag(OKTAG);
    
    this->addChild(getItem);
    this->addChild(okItem);
    
    return true;
}
Beispiel #26
0
bool MainScene::Init()
{
    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();

    CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
                                        "CloseNormal.png",
                                        "CloseSelected.png",
                                        this,
                                        menu_selector(MainScene::menuCloseCallback));
    
	pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 ,
                                origin.y + pCloseItem->getContentSize().height/2));
    CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
    pMenu->setPosition(CCPointZero);
    this->addChild(pMenu, 1);

    CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);
    pLabel->setPosition(ccp(origin.x + visibleSize.width/2,
                            origin.y + visibleSize.height - pLabel->getContentSize().height));
    this->addChild(pLabel, 1,1);

    CCSprite* pSprite = CCSprite::create("HelloWorld.png");
    pSprite->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
    this->addChild(pSprite, 0);
    
    setTouchEnabled(true);
    
//    /* Create an autorelease CCNodeLoaderLibrary. */
//    CCNodeLoaderLibrary * ccNodeLoaderLibrary = CCNodeLoaderLibrary::newDefaultCCNodeLoaderLibrary();
////    ccNodeLoaderLibrary->registerCCNodeLoader("MainScene", MainSceneLayerLoader::loader());
//    /* Create an autorelease CCBReader. */
//    cocos2d::extension::CCBReader * ccbReader = new cocos2d::extension::CCBReader(ccNodeLoaderLibrary);
//    /* Read a ccbi file. */
//    CCNode * node = ccbReader->readNodeGraphFromFile("MainScene.ccbi", this);
//    m_AnimationManager = ccbReader->getAnimationManager();
//    m_AnimationManager->runAnimationsForSequenceNamed("default");
//    m_bMenuShow = true;
//    ccbReader->release();
//    if(node != NULL) {
//        this->addChild(node);
//    }
    
//    CCFilteredSpriteWithOne* pSpOne = CCFilteredSpriteWithOne::create("Icon-144.png");
//    addChild(pSpOne);
//    pSpOne->setPosition(ccp(visibleSize.width/2,visibleSize.height/2));
//    CCGrayFilter* pF = CCGrayFilter::create(ccc4f(0.2, 0.3, 0.5, 0.1));
//    pSpOne->setFilter(pF);
//
//    CCFilteredSpriteWithMulti* pSpMulti = CCFilteredSpriteWithMulti::create("Icon-144.png");
//    addChild(pSpMulti);
//    pSpMulti->setPosition(ccp(visibleSize.width/2,visibleSize.height/4));
//    CCHueFilter* pF1 = CCHueFilter::create(240);
//    CCSaturationFilter* pF2 = CCSaturationFilter::create(1.5);
//    CCBrightnessFilter* pF3 = CCBrightnessFilter::create(-0.4);
//    CCArray* pArray = CCArray::create();
//    pArray->addObject(pF1);
//    pArray->addObject(pF2);
//    pArray->addObject(pF3);
//    pSpMulti->setFilters(pArray);
    
//    //test setBlendFunc
//    ccBlendFunc cbl = { GL_SRC_ALPHA , GL_ONE };
//    CCRotateBy * ccRotateBy = CCRotateBy::create(20.0f, 360);
//    CCRepeatForever * ccRepeatForever = CCRepeatForever::create(ccRotateBy);
//    this->mBurstSprite->runAction(ccRepeatForever);
//    pSp->setBlendFunc(cbl);
    
    //test Shader Utils
//    ShaderUtils::alphaMask(pSp, "Icon-114.png");
//    ShaderUtils::colorHSL(pSp, 120, 60);
    
    m_count = 0;
    
//    CCSprite *sprite = CCSprite::create("Icon-144.png");
//    CCSize winSize = CCDirector::sharedDirector()->getWinSize();
//    CCTableView* tableView = CCTableView::create(this,ccp(sprite->getContentSize().width*4,sprite->getContentSize().height*4));
//    tableView->setDirection(kCCScrollViewDirectionVertical);
//    tableView->setPosition(ccp(winSize.width/3,winSize.height/3));
//    tableView->setDelegate(this);
//    tableView->setVerticalFillOrder(kCCTableViewFillTopDown);
//    this->addChild(tableView,0,111);
//    tableView->reloadData();
//    sprite->release();
    
    //背景图片
    CCSprite * background = CCSprite::create("HelloWorld.png");
    background->setPosition(ccp(visibleSize.width/2,visibleSize.height/2));
    this->addChild(background,0);
    //创建一个裁剪节点用来实现遮罩的效果
    CCClippingNode * clippingNode = CCClippingNode::create();
    this->addChild(clippingNode,1);
    //向裁剪节点中加入内容,这里加入的是一个透明的层
    CCLayerColor * layer = CCLayerColor::create(ccc4(0,0,0,200));
    clippingNode->addChild(layer);
    //继续向裁剪节点中加入内容,这里加入的是一个精灵
    CCSprite * sprite = CCSprite::create("Icon-144.png");
    sprite->setPosition(ccp(visibleSize.width/4,visibleSize.height/2));
    clippingNode->addChild(sprite);
    //创建模板,裁剪节点将按照这个模板来裁剪区域
    CCSprite * stencil = CCSprite::create("Icon-114.png");
    stencil->setPosition(ccp(visibleSize.width/2,visibleSize.height/2));
    clippingNode->setStencil(stencil);
    //向裁剪节点中加入精灵,精灵的位置和裁剪的位置相同,所以最后让裁剪掉了
    CCSprite * sprite2 = CCSprite::create("Icon-144.png");
    sprite2->setPosition(ccp(visibleSize.width/2,visibleSize.height/2));
    clippingNode->addChild(sprite2);
    //这个是用来设置显示裁剪区域还是非裁剪区域的
    clippingNode->setInverted(true);
    //我们之前放了一张裁剪的模板,按照这个模板裁剪的时候同时按照这个alpha的值裁剪,这个值的范围是0-1
    //设为0就把透明的区域裁剪掉了
//    clippingNode->setAlphaThreshold(0);
    
    return true;
}
Beispiel #27
0
bool MenuScene::init()
{
	if(!CCLayer::init())
	{
		return false;
	}
	//播放背景音乐
	AudioEngine::sharedEngine()->playBackgroundMusic("sounds/0.mp3",true);
	//获取窗口大小
	CCSize winSize = CCDirector::sharedDirector()->getWinSize();
	//创建精灵
	CCSprite* sprite = CCSprite::create("btn/menubg1.png");
	//让背景的大小与窗口一样
	sprite->setScaleX(winSize.width/sprite->getContentSize().width);
	sprite->setScaleY(winSize.height/sprite->getContentSize().height);
	//位置
	sprite->setPosition(ccp(winSize.width/2,winSize.height/2));
	//把精灵添加进场景里
	this->addChild(sprite);
	
	//////////////////////////////////////////////////////////
	//单机模式
	CCMenuItemImage* singleGame = CCMenuItemImage::create(
		"btn/startbtn_normal.png",
		"btn/startbtn_touched.png",
		this,
		menu_selector(MenuScene::singleGameCallBack));

	singleGame->setScaleY((winSize.height/singleGame->getContentSize().height*0.15));
	singleGame->setScaleX((winSize.width /singleGame->getContentSize().width)*0.15);
	

	CCMenu* pMenu1 = CCMenu::create(singleGame,NULL);
	pMenu1->setPosition(ccp(winSize.width/2,winSize.height/2));
	
	this->addChild(pMenu1, 2);

	CCSprite* start = CCSprite::create("btn/text_start.png");

	start->setScaleX(winSize.width/start->getContentSize().width*0.1);
	start->setScaleY(winSize.height/start->getContentSize().height*0.07);
	start->setPosition(ccp(winSize.width/2,winSize.height/2));
	this->addChild(start,3);
	
	//////////////////////////////////////////////////////////
	//退出
	CCMenuItemImage* quit = CCMenuItemImage::create(
		"btn/startbtn_normal.png",
		"btn/startbtn_touched.png",
		this,
		menu_selector(MenuScene::quitCallBack));

	quit->setScaleY((winSize.height/quit->getContentSize().height*0.15));
	quit->setScaleX((winSize.width /quit->getContentSize().width)*0.15);


	CCMenu* pMenu2 = CCMenu::create(quit,NULL);
	pMenu2->setPosition(ccp(winSize.width/2,winSize.height/2*0.5));

	this->addChild(pMenu2, 2);

	CCSprite* quitImage = CCSprite::create("btn/quit.png");

	quitImage->setScaleX(winSize.width/quitImage->getContentSize().width*0.1);
	quitImage->setScaleY(winSize.height/quitImage->getContentSize().height*0.07);
	quitImage->setPosition(ccp(winSize.width/2,winSize.height/2*0.5));
	this->addChild(quitImage,3);

	//auto audioEngine=AudioEngine::getInstance();
	//audioEngine->playEffect("sounds/1000.ogg");

	
	return true;
}
void ChallengeAgainLayer::onShow(int round, int need)
{
	float totalWidth = 0.0;
	CCSize s = CCDirector::sharedDirector()->getWinSize();
	CCSprite *app1 = CCSprite::create(g_sRelifeBGImage);
	app1->setAnchorPoint(ccp(0,0));
	app1->setPositionX(30);
	app1->setPositionY(s.height*0.5);
	this->addChild(app1);
	totalWidth += app1->getContentSize().width;

	NumberSprite * roundTip = NumberSprite::create("green60",round);
	roundTip->setAnchorPoint(ccp(0,0));
	roundTip->setPositionX(app1->getPositionX()+app1->getContentSize().width+4);
	roundTip->setPositionY(app1->getPositionY());
	this->addChild(roundTip);
	totalWidth += 4;
	totalWidth += roundTip->realWidth;

	CCSprite *app2 = CCSprite::create(g_sGuanBGImage);
	app2->setAnchorPoint(ccp(0,0));
	app2->setPositionX(roundTip->getPositionX()+roundTip->realWidth+4);
	app2->setPositionY(roundTip->getPositionY());
	this->addChild(app2);
	totalWidth += 4;
	totalWidth += app2->getContentSize().width;

	float bx = (s.width - totalWidth)*0.5;
	app1->setPositionX(bx);
	roundTip->setPositionX(app1->getPositionX()+app1->getContentSize().width+4);
	app2->setPositionX(roundTip->getPositionX()+roundTip->realWidth+4);

	CCSprite *app3 = CCSprite::create(g_sLifeNeedBGImage);
	app3->setAnchorPoint(ccp(0,0));
	app3->setPositionX(app1->getPositionX());
	app3->setPositionY(app2->getPositionY()-app2->getContentSize().height-20);
	this->addChild(app3);

	NumberSprite * needTip = NumberSprite::create("green60",need);
	needTip->setAnchorPoint(ccp(0,0));
	needTip->setPositionX(app3->getPositionX()+app3->getContentSize().width+4);
	needTip->setPositionY(app3->getPositionY());
	this->addChild(needTip);

	CCSprite *app4 = CCSprite::create(g_sLifeValueBGImage);
	app4->setAnchorPoint(ccp(0,0));
	app4->setPositionX(needTip->getPositionX()+needTip->realWidth+4);
	app4->setPositionY(needTip->getPositionY());
	this->addChild(app4);

	CCMenuItemImage* pSureMenu = CCMenuItemImage::create(
                                                g_sSureBGImage, 
                                                g_sSureBGImage, 
                                                this, 
                                                menu_selector(ChallengeAgainLayer::onCommandSure));
	pSureMenu->setAnchorPoint(ccp(0,0));
	CCMenu* pMenu = CCMenu::create(pSureMenu, NULL);
    this->addChild(pMenu);
	pMenu->setTouchPriority(-1000);
	pMenu->setAnchorPoint(ccp(0,0));
	pMenu->setPositionY(app4->getPositionY()-app4->getTextureRect().size.height-40);
	pMenu->setPositionX(100);


	CCSprite * img = CCSprite::create(g_sReturnBGImage);
	CCMenuItemImage* pReturnMenu = CCMenuItemImage::create(
                                                g_sReturnBGImage, 
                                                g_sReturnBGImage, 
                                                this, 
                                                menu_selector(ChallengeAgainLayer::onCommandReturn));
	pReturnMenu->setAnchorPoint(ccp(0,0));
	CCMenu* pMenu2 = CCMenu::create(pReturnMenu, NULL);
    this->addChild(pMenu2);
	pMenu2->setTouchPriority(-1000);
	pMenu2->setAnchorPoint(ccp(0,0));
	pMenu2->setPositionY(pMenu->getPositionY());
	pMenu2->setPositionX(s.width-img->getTextureRect().size.width-100);
}
void UIStory::BtnUpOutCallback(CCObject* pSender)
{
	CCMenuItemImage* pBtn = (CCMenuItemImage*)pSender;
	pBtn->stopAllActions();
	pBtn->runAction(CCScaleTo::actionWithDuration(0.1f, CCGetScaleX()));
}
Beispiel #30
0
void GameScene::showOverView()
{
    if (m_pOverLayer == NULL)
    {
        m_pOverLayer = LGLayerColor::create(ccc4(0, 0, 0, 0));
        m_pOverLayer->retain();
        m_pOverLayer->setTouchMode(kCCTouchesOneByOne);
        m_pOverLayer->setTouchEnabled(true);
        m_pOverLayer->setZOrder(3);

        CCSprite *pTitle = CCSprite::create("title_over.png");
        pTitle->setPosition(ccp(m_VisibleOrigin.x + m_VisibleSize.width / 2, m_VisibleOrigin.y + m_VisibleSize.height * 0.76f));
        m_pOverLayer->addChild(pTitle);

        CCSprite *pBgScore = CCSprite::create("bg_score.png");
        //pBgScore->setPosition(ccp(m_VisibleOrigin.x + m_VisibleSize.width / 2, m_VisibleOrigin.y + m_VisibleSize.height * 0.535f));
        pBgScore->setPosition(ccp(m_VisibleOrigin.x + m_VisibleSize.width / 2, m_VisibleOrigin.y - pBgScore->getContentSize().height / 2));
        pBgScore->setTag(kTagOverScoreBoard);
        m_pOverLayer->addChild(pBgScore);

        float bgW = pBgScore->getContentSize().width, bgH = pBgScore->getContentSize().height;

        int record = CCUserDefault::sharedUserDefault()->getIntegerForKey("record", 0);
        if (record < m_CurrentScore)
        {
            record = m_CurrentScore;
            CCUserDefault::sharedUserDefault()->setIntegerForKey("record", record);
            NativeBridge::submitScore(record);

            CCSprite *indicatorNew = CCSprite::create("new.png");
            indicatorNew->setPosition(ccp(bgW * (0.5 - 0.2448980f), bgH * (0.5 - 0.08035714f)));
            pBgScore->addChild(indicatorNew);
        }

        CCLabelAtlas *current = CCLabelAtlas::create(CCString::createWithFormat("%d", m_CurrentScore)->getCString(), "fonts/font2.png", 36, 48, '0');
        current->setAnchorPoint(ccp(0.5, 0.5));
        current->setPosition(bgW / 2, bgH * 0.6394f);
        pBgScore->addChild(current);
        CCLabelAtlas *best = CCLabelAtlas::create(CCString::createWithFormat("%d", record)->getCString(), "fonts/font2.png", 36, 48, '0');
        best->setAnchorPoint(ccp(0.5, 0.5));
        best->setPosition(bgW / 2, bgH * (0.5 - 0.27679f));
        pBgScore->addChild(best);

        CCMenuItemImage *pRetry = LGMenuItemImage::create("retry.png", NULL, this, menu_selector(GameScene::retryCallback));
        CCMenuItemImage *pMenu = LGMenuItemImage::create("menu.png", NULL, this, menu_selector(GameScene::menuCallback));

        pRetry->setPosition(ccp(m_VisibleOrigin.x + m_VisibleSize.width * 0.73333333f, m_VisibleOrigin.y + m_VisibleSize.height * 0.285f));
        pMenu->setPosition(ccp(m_VisibleOrigin.x + m_VisibleSize.width * 0.26666667f, pRetry->getPositionY()));

        CCMenu *pCCMenu = CCMenu::create(pRetry, pMenu, NULL);
        pCCMenu->setTag(kTagOverMenu);
        pCCMenu->setAnchorPoint(CCPointZero);
        pCCMenu->setPosition(ccp(0, m_VisibleOrigin.y - (pRetry->getPositionY() - m_VisibleOrigin.y) * 2));
        m_pOverLayer->addChild(pCCMenu);
    }

    m_pOverLayer->getChildByTag(kTagOverScoreBoard)->runAction(CCMoveTo::create(0.5f, ccp(m_VisibleOrigin.x + m_VisibleSize.width / 2, m_VisibleOrigin.y + m_VisibleSize.height * 0.535f)));
    m_pOverLayer->getChildByTag(kTagOverMenu)->runAction(CCMoveTo::create(1.0f, CCPointZero));

    if (m_pOverLayer && m_pOverLayer->getParent() == NULL)
    {
        getParent()->addChild(m_pOverLayer);
        CC_SAFE_RELEASE_NULL(m_CurrentLayer);
        m_CurrentLayer = m_pOverLayer;
        m_CurrentLayer->retain();
        onShowOverlay(true);
    }

    m_ScoreLabel->setVisible(false);
}