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); }
LoginUI::LoginUI(SEL_MenuHandler loginSelector, SEL_MenuHandler joinSelector, CCObject *pTarget, int fontSize) { m_pBackGround = new CCSprite; m_pBackGround->initWithFile("Login-Background.png"); m_pBackGround->setPosition(ccp(-10, -10)); m_pBackGround->setAnchorPoint(ccp(0, 0)); addChild(m_pBackGround); for(int i=0; i<LOGIN_UI_ENUM_NUM; ++i) { m_pTextField[i] = new CCTextFieldTTF; m_pTextField[i]->initWithPlaceHolder("", LOGIN_UI_FONT_NAME, fontSize); m_pTextField[i]->setAnchorPoint(ccp(0,0)); m_pTextField[i]->setColor(ccc3(0, 0, 0)); m_pTextField[i]->setHorizontalAlignment(kCCTextAlignmentLeft); m_pTextField[i]->setContentSize(LOGIN_UI_TEXTFILED_SIZE); m_pTextField[i]->setDelegate(this); m_pLabel[i] = new CCLabelTTF; m_pLabel[i]->initWithString("", LOGIN_UI_FONT_NAME, fontSize); m_pLabel[i]->setColor(ccc3(0, 0, 0)); m_pLabel[i]->setAnchorPoint(ccp(0,0)); addChild(m_pTextField[i]); addChild(m_pLabel[i]); } m_pLabel[LOGIN_UI_ENUM_ID]->setString("ID : "); m_pLabel[LOGIN_UI_ENUM_ID]->setPosition(ccp(10,110)); m_pLabel[LOGIN_UI_ENUM_PW]->setString("PW : "); m_pLabel[LOGIN_UI_ENUM_PW]->setPosition(ccp(10, 70)); m_pTextField[LOGIN_UI_ENUM_ID]->setPosition(ccp(50, 110)); m_pTextField[LOGIN_UI_ENUM_PW]->setPosition(ccp(50, 70)); CCMenuItemImage *pBtLogin = CCMenuItemImage::create("Button/Login-Login.png", "Button/Login-Login.png", pTarget, loginSelector); pBtLogin->setPosition(ccp(150,10)); pBtLogin->setAnchorPoint(ccp(0,0)); CCMenuItemImage *pBtJoin = CCMenuItemImage::create("Button/Login-SignUp.png", "Button/Login-SignUp.png", pTarget, joinSelector); pBtJoin->setPosition(ccp(230,10)); pBtJoin->setAnchorPoint(ccp(0,0)); m_pMenu = CCMenu::create(pBtLogin, pBtJoin, NULL); m_pMenu->setAnchorPoint(ccp(0,0)); m_pMenu->setPosition(ccp(0,0)); addChild(m_pMenu); setTouchEnabled(true); setContentSize(m_pBackGround->getContentSize()); }
void MarketScene::initButton() { CCMenuItemImage *pMenuItem = CCMenuItemImage::create(s_pMenuItemBack.charMapFile, s_pMenuItemBack.charMapFilePress, this, menu_selector(MarketScene::buttonCallback)); if (NULL != pMenuItem) { pMenuItem->setAnchorPoint(ccp(1,1)); pMenuItem->setPosition(SCREEN); pMenuItem->setTag(BTN_CLOSE); } CCMenu *pMenu = CCMenu::create(pMenuItem, NULL); if (NULL != pMenu) { pMenu->setPosition(CCPointZero); addChild(pMenu); pMenu->setTag(TAG_MENU); } pMenuItem = CCMenuItemImage::create(s_pMenuItemBuy.charMapFile, s_pMenuItemBuy.charMapFilePress, s_pBuyDisable, this, menu_selector(MarketScene::buttonCallback)); pMenuItem->setAnchorPoint(ccp(0.5f, 0.5f)); pMenuItem->setPosition(ccp(CENTER.x, 120)); pMenuItem->setTag(BTN_BUY); pMenu->addChild(pMenuItem); char szFileName[32] = { 0 }; char szFileName2[32] = { 0 }; char szFileName3[32] = { 0 }; for (int i = 0; i < CARD_COUNT; i++) { sprintf(szFileName, s_pathCard.charMapFile, i); sprintf(szFileName2, s_pathCard.charMapFilePress, i); sprintf(szFileName3, s_pathCardDisable, i); CCMenuItemImage *pItem0 = CCMenuItemImage::create(szFileName, szFileName2, szFileName3); CCMenuItemImage *pItem1 = CCMenuItemImage::create(szFileName2, szFileName); CCMenuItemToggle *pToggle = CCMenuItemToggle::createWithTarget(this, menu_selector(MarketScene::buttonCallback), pItem0, pItem1, NULL); pToggle->setPosition(ccp(120 * i + s_pathCard.m_Position.x, s_pathCard.m_Position.y)); pToggle->setTag(BTN_CARD + i); if (g_Control.cards[i] > 0) { CCSprite *sprite = CCSprite::create(s_pathCardbuy.m_strPath); sprite->setPosition(s_pathCardbuy.m_Position); pToggle->addChild(sprite, TAG_CARD_BUY, TAG_CARD_BUY); } pMenu->addChild(pToggle); } checkCard(BTN_CARD); }
CCLayer* GameScene::showTimerBoarder() { CCLayer* board = CCLayer::create(); CCSprite* boardBG = CCSprite::create("header.png"); boardBG->setPosition(ccp(320,0)); boardBG->setAnchorPoint(ccp(0.5f,0)); board->addChild(boardBG); CCMenuItemImage* imageItem = CCMenuItemImage::create("btn-pause.png","btn-pause-down.png", this,menu_selector(GameScene::restartScene)); imageItem->setAnchorPoint(ccp(0,1)); CCMenu* menu = CCMenu::create(imageItem,NULL); menu->setAnchorPoint(ccp(0,1)); menu->setPosition(ccp(0,158)); pr = CCProgressTimer::create(CCSprite::create("timer.png")); pr->setPosition(ccp(320,16)); pr->setAnchorPoint(ccp(0.5,0)); pr->setPercentage(1.0f); pr->setType(kCCProgressTimerTypeBar); pr->setMidpoint(ccp(1,0)); pr->setBarChangeRate(ccp(1,0)); this->schedule(schedule_selector(GameScene::countTime),1.0f); scoreTxt = CCLabelBMFont::create("0","fonts/scorefont.fnt"); scoreTxt->setAnchorPoint(ccp(1,0.5f)); scoreTxt->setScale(1.0f); scoreTxt->setAlignment(kCCTextAlignmentRight); scoreTxt->setPosition(ccp(640,110)); board->addChild(scoreTxt,10); board->addChild(pr); board->addChild(menu); return board; }
bool InstructionsLayer::init() { // Back item CCMenuItemImage *pBackItem = CCMenuItemImage::itemFromNormalImage( "quit.png", "quit-hover.png", this, menu_selector(InstructionsLayer::back)); pBackItem->setAnchorPoint( ccp(0.5, 0.5) ); pBackItem->setPosition( ccp(CCDirector::sharedDirector()->getWinSize().width/2, 50) ); // Create menu CCMenu* pMenu = CCMenu::menuWithItems(pBackItem, NULL); pMenu->setPosition( CCPointZero ); this->addChild(pMenu, 1); // Label CCLabelTTF* pLabel = CCLabelTTF::labelWithString("About", "Arial", 24); CCSize size = CCDirector::sharedDirector()->getWinSize(); pLabel->setPosition( ccp(size.width / 2, size.height - 50) ); this->addChild(pLabel, 1); return true; }
bool UpgradeScene::init() { if (!CCLayerColor::initWithColor(ccc4(0, 0, 0, 100))) { return false; } // if(!CCLayer::init()) { // return false; // } // 开启触控 setTouchEnabled(true); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCMenuItemImage *img = CCMenuItemImage::create("Night-Vision_01.png", "Night-Vision_01.png"); img->setAnchorPoint(ccp(0.5, 0.5)); img->setPosition(ccp(winSize.width/2, winSize.height/2)); menu = CCMenu::create(img, NULL); menu->setAnchorPoint(ccp(0.5, 0.5)); menu->setPosition(CCPointZero); addChild(menu, 1, 10); return true; }
void CGroupInfoScene::CreateGroupGameRoom() { // 最后一个为新加的,draw it vector<CGameRoomInfo> &rooms = CGameManager::Instance().GetGameRoomInfo(); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); float w = visibleSize.width/ 2; float h = visibleSize.height - 120; CCMenuItemImage *pAddItem = CCMenuItemImage::create( PATCH_RES_DIR("group_room.png"), PATCH_RES_DIR("group_room.png"), this, menu_selector(CGroupInfoScene::menuEnterGroupGameRoomCallback) ); h -= (rooms.size()-1) * (pAddItem->getContentSize().height + 5); pAddItem->setAnchorPoint( ccp(0, 0) ); pAddItem->setPosition( ccp(w, h) ); pAddItem->setUserData( &rooms[rooms.size()-1] ); CCMenu *pMenu = CCMenu::create( pAddItem, NULL ); pMenu->setPosition( CCPointZero ); addChild( pMenu, 1 ); }
bool HelpScene::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } setKeypadEnabled(true); LayoutManager *layoutManager = LayoutManager::getInstance(); CCRect visibleRect = layoutManager->getVisibleRect(); CCDirector *director = CCDirector::sharedDirector(); m_Background = CCSprite::create("help.png"); m_Background->retain(); m_Background->setPosition(director->getVisibleOrigin() + director->getVisibleSize() / 2); addChild(m_Background); CCMenuItemImage *pBack = CCMenuItemImage::create("back.png", NULL, this, menu_selector(HelpScene::backCallback)); pBack->setAnchorPoint(CCPointZero); pBack->setPosition(ccp(visibleRect.origin.x + 18, visibleRect.origin.y + 12)); CCMenu *pMenu = CCMenu::create(pBack, NULL); pMenu->setAnchorPoint(CCPointZero); pMenu->setPosition(CCPointZero); addChild(pMenu); return true; }
// on "init" you need to initialize your instance bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } // menuArray = new CCArray(); menuArray->retain(); menuArray->addObject(CCString::createWithFormat("3DBox Test")); menuArray->addObject(CCString::createWithFormat("Box2D Test")); 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->setAnchorPoint(ccp(1, 0)); pCloseItem->setPosition(VisibleRect::rightBottom()); // create menu, it's an autorelease object CCMenu* pMenu = CCMenu::create(pCloseItem, NULL); pMenu->setPosition(CCPointZero); this->addChild(pMenu, 1); // add "HelloWorld" splash screen" CCSprite* background = CCSprite::create("star.png"); background->setAnchorPoint(ccp(0.5, 0.5)); background->setPosition(VisibleRect::center()); this->addChild(background, 0); CCTableView *tableView=CCTableView::create(this, CCSizeMake(300, visibleSize.height)); tableView->setDirection(kCCScrollViewDirectionVertical); tableView->setAnchorPoint(ccp(0.5, 0)); tableView->setPosition(ccp(visibleSize.width/2 + origin.x, 0)); tableView->setDelegate(this); tableView->setVerticalFillOrder(kCCTableViewFillTopDown); this->addChild(tableView,1); tableView->reloadData(); return true; }
bool CSettingScene::init(void) { ////////////////////////////// // 1. super init first if ( !CCScene::init() ) { return false; } CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); // 광고 켜기 gene::AdMobObjectCPP * admob = new gene::AdMobObjectCPP(); admob->showAdMob(); ///////////////////////////// // 2. add layers CCLayer* BackgroundLayer = CBackgroundLayer::create(); this->addChild(BackgroundLayer, 0); //add Setting Title CCSprite* pTitle = CCSprite::create(SETTING_TITLE.c_str()); pTitle->setAnchorPoint(ccp(0,0)); pTitle->setPosition(CCPoint(SETTING_TITLE_POS)); addChild(pTitle,1); m_SettingMenuLayer = CSettingMenuLayer::create(); this->addChild(m_SettingMenuLayer, 1); //add custom backBtn CCMenuItemImage *pBackToMainButton = CCMenuItemImage::create( SHARED_BTN_BACK.c_str(), SHARED_BTN_BACK.c_str(), this, menu_selector(CSettingScene::MainSceneCallback) ); pBackToMainButton->setAnchorPoint(ccp(0,0)); CCMenu* pMenu = CCMenu::create(pBackToMainButton, NULL); pMenu->setPosition(SHARED_BTN_BACK_POS); addChild(pMenu, 1); ///////////////////////////// // 3. active schedule this->scheduleUpdate(); // 5. initial update CGameManager::GetInstance()->SetUpdateFlag(true); return true; }
void GameLayer::createPauseLayer() { Context *context = Context::sharedContext(); CCSize s = CCDirector::sharedDirector()->getWinSize(); /* 半透明层 */ CCLayerColor* pauseLayer = CCLayerColor::create(); pauseLayer->setContentSize(CCSizeMake(s.width, s.height)); pauseLayer->setColor(ccc3(0, 0, 0)); pauseLayer->setOpacity(150); CCMenu *menu = CCMenu::create(); //回到游戏 CCMenuItemImage *resumebg = CCMenuItemImage::create(("btn_big.png"), ("btn_big.png")); resumebg->setTarget(this, menu_selector(GameLayer::onResumeItem)); CCMenuItemFont *resumetxt = CCMenuItemFont::create(LOCAL_RESOURCES->valueByKey("i18n_resume")->getCString()); resumebg->setAnchorPoint(ccp(0.5, 0.5)); resumebg->setPosition(ccpp(0, 0)); resumetxt->setPosition( ccp(resumebg->getContentSize().width / 2, resumebg->getContentSize().height / 2)); resumetxt->setAnchorPoint(ccp(0.5, 0.5)); resumetxt->setColor(context->getFontColor()); resumebg->addChild(resumetxt); menu->addChild(resumebg); //回到菜单 CCMenuItemImage *backbg = CCMenuItemImage::create(("btn_big.png"), ("btn_big.png")); backbg->setTarget(this, menu_selector(GameLayer::onBackItem)); CCMenuItemFont *backtxt = CCMenuItemFont::create(LOCAL_RESOURCES->valueByKey("i18n_back")->getCString()); backbg->setAnchorPoint(ccp(0.5, 0.5)); backbg->setPosition(ccpp(0, -0.12)); backtxt->setPosition( ccp(backbg->getContentSize().width / 2, backbg->getContentSize().height / 2)); backtxt->setAnchorPoint(ccp(0.5, 0.5)); backtxt->setColor(context->getFontColor()); backbg->addChild(backtxt); menu->addChild(backbg); pauseLayer->addChild(menu); CCDirector::sharedDirector()->getRunningScene()->addChild(pauseLayer, 0, TAG_LAYER_PAUSE); }
bool CContactScene::init(void) { ////////////////////////////// // 1. super init first if ( !CCScene::init() ) { return false; } CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); // 광고 끄기 gene::AdMobObjectCPP * admob = new gene::AdMobObjectCPP(); admob->hideAdMob(); ///////////////////////////// // 2. add layers CCLayer* BackgroundLayer = CBackgroundLayer::create(); this->addChild(BackgroundLayer, 0); CCSprite* ContactTitle = CCSprite::create(CONTACT_TITLE.c_str()); ContactTitle->setAnchorPoint(ccp(0,0)); ContactTitle->setPosition(CCPoint(CONTACT_TITLE_POS)); addChild(ContactTitle,0); //add backgroundImg CCSprite* pBackground = CCSprite::create(SETTING_BG.c_str()); pBackground->setAnchorPoint(ccp(0,0)); pBackground->setPosition(CCPoint(SETTING_BG_POS)); addChild(pBackground,1); //add mail CCSprite* pMail = CCSprite::create(CONTACT_MAIL.c_str()); pMail->setPosition(ccp(visibleSize.width/2,visibleSize.height/2)); addChild(pMail,1); //add custom backBtn CCMenuItemImage *pBackToMainButton = CCMenuItemImage::create( SHARED_BTN_BACK.c_str(), SHARED_BTN_BACK.c_str(), this, menu_selector(CContactScene::SettingSceneCallback) ); pBackToMainButton->setAnchorPoint(ccp(0,0)); CCMenu* pMenu = CCMenu::create(pBackToMainButton, NULL); pMenu->setPosition(SHARED_BTN_BACK_POS); addChild(pMenu, 1); return true; }
CCMenuItemImage* Objects2dFactory::imageButton(CCNode* scene, CCMenu* menu, string normalImagePath, string selectedImagePath, string disabledImagePath, float positionX, float positionY, float width, float height, SEL_MenuHandler selector, void* selectorArg, AlignX alignX, AlignY alignY, 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 anchor button->setAnchorPoint(ccp(Constants::getAnchorValue(alignX), Constants::getAnchorValue(alignY))); // Set menu item width float buttonWidth = button->boundingBox().size.width; if (width > 0) // if width is defined, it is setted { button->setScaleX(width / buttonWidth); } // Set menu item height float buttonHeight = button->boundingBox().size.height; if (height > 0) // if height is defined, it is setted { button->setScaleY(height / buttonHeight); } // Add button to the menu menu->addChild(button, zOrder); return button; }
void CGroupInfoScene::_InitAddGame() { CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCMenuItemImage *pAddItem = CCMenuItemImage::create( PATCH_RES_DIR("add.png"), PATCH_RES_DIR("add.png"), this, menu_selector(CGroupInfoScene::menuAddGameCallback) ); pAddItem->setAnchorPoint( ccp(0, 0) ); float w = visibleSize.width - pAddItem->getContentSize().width - 5; float h = visibleSize.height - 100; pAddItem->setPosition( ccp(w, h) ); CCMenu *pMenu = CCMenu::create( pAddItem, NULL ); pMenu->setPosition( CCPointZero ); addChild( pMenu, 1 ); }
CCLayer * GameLayer::createPauseButtonLayer() { CCMenu *layer = CCMenu::create(); //暂停 CCMenuItemImage *pausebg = CCMenuItemImage::create(("btn_small.png"), ("btn_small.png")); CCSprite *pausetxt = CCSprite::create("btn_pause.png"); pausebg->setTarget(this, menu_selector(GameLayer::onPauseItem)); pausebg->setAnchorPoint(ccp(0, 0.5)); pausebg->setPosition(ccpp(-0.49, 0.42)); pausetxt->setPosition( ccp(pausebg->getContentSize().width / 2, pausebg->getContentSize().height / 2)); pausetxt->setAnchorPoint(ccp(0.5, 0.5)); pausebg->addChild(pausetxt); layer->addChild(pausebg); return layer; }
void CNetworkPlayerNumberLayer::CreateNextButtonMenu( CCSize visibleSize ) { CCMenu *NextButtonTable = CCMenu::createWithItems(NULL, NULL); CCMenuItemImage* pNextButton = CCMenuItemImage::create( SHARED_BTN_NEXT.c_str(), SHARED_BTN_NEXT.c_str(), this, menu_selector(CNetworkPlayerNumberLayer::NextButtonCallBack) ); pNextButton->setAnchorPoint( ccp(0, 0) ); pNextButton->setPosition( CCPoint( PLAYER_NUMBER_NEXT_IMG_POS ) ); NextButtonTable->addChild(pNextButton); NextButtonTable->setPosition( ccp(0, 0) ); this->addChild(NextButtonTable); }
void CNetworkPlayerNumberLayer::CreateBackButtonMenu( CCSize visibleSize ) { CCMenu *BackButtonTable = CCMenu::createWithItems(NULL, NULL); CCMenuItemImage* pBackButton = CCMenuItemImage::create( SHARED_BTN_BACK.c_str(), SHARED_BTN_BACK.c_str(), this, menu_selector(CNetworkPlayerNumberLayer::MainSceneCallback) ); pBackButton->setAnchorPoint( ccp(0, 0) ); pBackButton->setPosition( CCPoint( WAITING_CHANNEL_BACK_BUTTON_POSITION ) ); BackButtonTable->addChild(pBackButton); BackButtonTable->setPosition( ccp(0, 0) ); this->addChild(BackButtonTable); }
CCMenuItemImage* Objects2dFactory::clickableRectangle(CCNode* scene, CCMenu* menu, ccColor3B color, float positionX, float positionY, float width, float height, SEL_MenuHandler selector, void* selectorArg, AlignX alignX, AlignY alignY, GLubyte opacity, int zOrder) { // Check arguments validity if(scene == NULL || menu == NULL || !selector) return NULL; // Create a button menu item CCMenuItemImage *button = CCMenuItemImage::create("TopQXResources/white.png", "TopQXResources/white.png", "TopQXResources/white.png", scene, selector); if(!button) return NULL; // Set argument if (selectorArg != NULL) { button->setUserData(selectorArg); } // Set color button->setColor(color); // Set opacity button->setOpacity(opacity); // Place the menu item in the given position button->setPosition(ccp(positionX, positionY)); // Set anchor button->setAnchorPoint(ccp(Constants::getAnchorValue(alignX), Constants::getAnchorValue(alignY))); // Set menu item width float buttonWidth = button->boundingBox().size.width; button->setScaleX(width / buttonWidth); // Set menu item height float buttonHeight = button->boundingBox().size.height; button->setScaleY(height / buttonHeight); // Add button to the menu menu->addChild(button, zOrder); return button; }
bool GameSprite_Rice::init() { if (!CCSprite::init()) { return false; } this->setContentSize(CCSize(500, 70)); addRiceTime = RICEADDTIME; riceNum = 0; nowTime = 0; nowTime = this->getCurrentTime(); //字体背景. CCMenuItemImage *labelBgSprite = CCMenuItemImage::create(); labelBgSprite->setNormalSpriteFrame(GameShare_Texture::sharedTexture()->GetSpriteFrameByCCRect(akoomenu_image, CCRect(1763, 255, 120, 49))); labelBgSprite->setAnchorPoint(CCPointZero); labelBgSprite->setPosition(CCPointZero); labelBgSprite->setTag(Key_Add); CCMenu* pMenu = CCMenu::create(labelBgSprite, NULL); pMenu->setPosition(ccp(300,0)); pMenu->setTag(Key_Add); this->addChild(pMenu); //时间标签. CCLabelTTF *timeLabel = CCLabelTTF::create("", "Arial", 20); ccColor3B color = ccc3(95, 46, 33); char strTime[32]; sprintf(strTime,"%d:%d%d",addRiceTime/60,addRiceTime%60/10,addRiceTime%60%10); timeLabel->setColor(color); timeLabel->setString(strTime); timeLabel->setTag(Key_Time); timeLabel->setPosition(ccp(pMenu->getPositionX()+40, pMenu->getPositionY()+20)); this->addChild(timeLabel); //饭的背景 CCSprite *riceBgSprite = GameShare_Texture::sharedTexture()->GetSpriteByCCRect(akoomenu_image, CCRect(1, 1570, 278, 30)); riceBgSprite->setAnchorPoint(CCPointZero); riceBgSprite->setPosition(ccp(0,5)); this->addChild(riceBgSprite); this->schedule(schedule_selector(GameSprite_Rice::timeUpdate), 1.0); return true; }
void BillboardScene::onEnter() { CCLayer::onEnter(); CCSize contentSize; CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCPoint pCenter = ccp(winSize.width / 2, winSize.height / 2); getSpriteBackGround()->setPosition(ccp(winSize.width / 2, winSize.height / 2)); getSpriteBackGround()->setScale(0.5f); this->addChild(getSpriteBackGround(), 1); //CCSprite* closeSprite = CCSprite::create("close.png"); CCMenuItemImage* closemenuImage = CCMenuItemImage::create("close.png", "close.png", this, menu_selector(BillboardScene::buttonCallback)); closemenuImage->setTag(0); closemenuImage->setPosition(ccp(getSpriteBackGround()->getPositionX() + getSpriteBackGround()->getContentSize().width/4,getSpriteBackGround()->getPositionY() + getSpriteBackGround()->getContentSize().height/4)); //closemenuImage->setScale(0.5f); closemenuImage->setAnchorPoint(ccp(1,1)); CCMenu* menu = CCMenu::create(closemenuImage,NULL); menu->setPosition(CCPointZero); addChild(menu,2); }
bool CTimeOutLayer::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } ///////////////////////////// // 2. add a background image CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCLabelTTF* pName = nullptr; pName = CCLabelTTF::create("Cannot find other players", GAME_FONT, 82 ); pName->setColor(ccc3(43, 46, 46)); pName->setPosition(ccp(visibleSize.width / 2, visibleSize.height / 2)); addChild(pName, 1); // mainmenu button part CCMenuItemImage *pMainScene = CCMenuItemImage::create( SHARED_BTN_BACK.c_str(), SHARED_BTN_BACK.c_str(), this, menu_selector(CTimeOutLayer::mainSceneCallback) ); pMainScene->setAnchorPoint(ccp(0.0, 0.0) ); pMainScene->setPosition(CCPoint(CREDIT_BACK_BUTTON_POSITION) ); // create menu, it's an autorelease object CCMenu* pMenu = CCMenu::create(pMainScene, NULL); pMenu->setPosition(CCPointZero); this->addChild(pMenu, 1); return true; }
CCMenuItemImage* BaseScene::buildAndPlaceTile(const char *normalFrameName, const char *selectedFrameName, int tilePosX, int tilePosY) { CCMenuItemImage* menuButton = CCMenuItemImage::create(); menuButton->setNormalSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(normalFrameName)); menuButton->setSelectedSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(selectedFrameName)); menuButton->setDisabledSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(selectedFrameName)); //menuButton->setTarget(this, menu_selector(HomeScene::getZOrder)); menuButton->setAnchorPoint(ccp(0.0, 1.0)); _tileMenu->addChild(menuButton); float onePosX = AppDelegate::SCREEN_WIDTH * 0.348; float onePosY = AppDelegate::SCREEN_HEIGHT * 0.764; float tileHeight = menuButton->getContentSize().height; float gap = 7 * AppDelegate::SCREEN_SCALE_FACTOR; float desiredPosX = onePosX + ((gap + tileHeight) * tilePosX); float desiredPosY = onePosY - ((gap + tileHeight) * tilePosY); menuButton->setPosition(desiredPosX, desiredPosY); return menuButton; }
/* * 初始化 */ bool Demo::init() { // super init if (!CCLayer::init()) { return false; } CCMenuItemImage *pSellItem = CCMenuItemImage::create( "des.png", "des.png", this, menu_selector(Demo:: option)); pSellItem->setAnchorPoint(ccp(0, 0)); pSellItem->setPosition(ccp(0, 0)); CCMenu* menu = CCMenu::create(pSellItem, NULL); menu->setAnchorPoint(ccp(0, 0)); menu->setPosition(ccp(0, 0)); addChild(menu); CCSprite* sp = CCSprite::create("desfont.png"); sp->setAnchorPoint(ccp(0.5, 0)); sp->setPosition(ccp(320, 50)); addChild(sp); CCActionInterval * scale = CCScaleTo::create(1, 1.1); CCActionInterval * scale1 = CCScaleTo::create(1.5, 1); CCFiniteTimeAction * seq= CCSequence::create(scale, scale1, NULL); CCActionInterval * repeatForever =CCRepeatForever::create((CCActionInterval* )seq); sp->runAction(repeatForever); /**/ LoginLayer* login = LoginLayer::create(); login->setVisible(false); login->setTouchEnabled(false); this->addChild(login, 1, 100); return true; }
/** * 初始化方法,继承CCLayer的方法 */ bool LoginView::init() { if(!CCLayer::init()) { return false ; } CCSize winSize = CCDirector::sharedDirector()->getWinSize() ; // 背景 CCSprite* downBg = CCSprite::create("bg_welcome.png") ; downBg->setAnchorPoint(ccp(0.5, 0)) ; downBg->setPosition(ccp(winSize.width/2, 0)) ; this->addChild(downBg, 0) ; // 加载logo CCSprite* logo = CCSprite::create("logo_01.png") ; logo->setAnchorPoint(ccp(0.5, 0.5)) ; logo->setPosition(ccp(winSize.width/2, winSize.height/2+35)) ; this->addChild(logo, 1) ; ///////////////////////////////// 输入框 //////////////////////////////////////// const float input_width = 213.0f ; const float input_height = 39.0f ; const float labelNode_padding = 8.0f ; const float labelNode_width = winSize.width/3 ; const float labelNode_height = 2*input_height+labelNode_padding ; CCNode* labelNode = CCNode::create() ; labelNode->setContentSize(CCSizeMake(labelNode_width, labelNode_height)) ; labelNode->setAnchorPoint(ccp(0.5, 0)) ; labelNode->setPosition(ccp(winSize.width/2-5, 85)) ; this->addChild(labelNode, 2) ; CCSpriteBatchNode* batchNode = CCSpriteBatchNode::create("bg_textfield.png") ; // 用户名 CCSprite* txtUsernameBg = CCSprite::createWithTexture(batchNode->getTexture()) ; txtUsernameBg->setAnchorPoint(ccp(0, 0)) ; txtUsernameBg->setPosition(ccp(0, input_height+labelNode_padding)) ; labelNode->addChild(txtUsernameBg, 0) ; this->txtUsername = CCTextFieldTTF::textFieldWithPlaceHolder("Username", CCSizeMake(input_width, input_height), kCCTextAlignmentLeft, "font01.ttf", 26.0f) ; this->txtUsername->setVerticalAlignment(kCCVerticalTextAlignmentCenter) ; this->txtUsername->setAnchorPoint(ccp(0, 0.5)) ; this->txtUsername->setPosition(ccp((winSize.width-labelNode_width)/2+5, 85+labelNode_height*3/4)) ; this->addChild(this->txtUsername, 3) ; // 密码 CCSprite* txtPasswordBg = CCSprite::createWithTexture(batchNode->getTexture()) ; txtPasswordBg->setAnchorPoint(ccp(0, 0)) ; txtPasswordBg->setPosition(ccp(0, 0)) ; labelNode->addChild(txtPasswordBg, 0) ; this->txtPassword = CCTextFieldTTF::textFieldWithPlaceHolder("Password", CCSizeMake(input_width, input_height), kCCTextAlignmentLeft, "font01.ttf", 26.0f) ; this->txtPassword->setVerticalAlignment(kCCVerticalTextAlignmentCenter) ; this->txtPassword->setAnchorPoint(ccp(0, 0.5)) ; this->txtPassword->setPosition(ccp((winSize.width-labelNode_width)/2+5, 85+labelNode_height/4-2)) ; this->addChild(this->txtPassword,3) ; // 登录按钮 CCMenuItemImage* loginMenuItem = CCMenuItemImage::create("menu_login_n.png", "menu_login_s.png", this, menu_selector(LoginView::menuLoginCallback)) ; loginMenuItem->setAnchorPoint(ccp(0, 0)) ; loginMenuItem->setPosition(ccp(0, input_height+labelNode_padding)) ; // 注册按钮 CCMenuItemImage* registeMenuItem = CCMenuItemImage::create("menu_registe_n.png", "menu_registe_s.png", this, menu_selector(LoginView::menuRegisteCallback)) ; registeMenuItem->setAnchorPoint(ccp(0, 0)) ; registeMenuItem->setPosition(ccp(0, 0)) ; CCMenu* loginMenu = CCMenu::create(loginMenuItem, registeMenuItem, NULL) ; loginMenu->setAnchorPoint(ccp(0, 0)) ; loginMenu->setPosition(ccp(input_width+10, -5)) ; labelNode->addChild(loginMenu) ; // ////////////////////////////////////////////////////////////////////////////////////////////// const float loginNode_padding = 11.0f ; const float loginNode_margin_bottom = 32.0f ; const float menu_item_width = 101.0f ; CCNode* optionNode = CCNode::create() ; optionNode->setContentSize(CCSizeMake(winSize.width/3, 50)) ; optionNode->setAnchorPoint(ccp(0.5, 0)) ; optionNode->setPosition(ccp(winSize.width/2-5, loginNode_margin_bottom)) ; this->addChild(optionNode, 1) ; // 游客登录 CCMenuItemImage* guestLoginItem = CCMenuItemImage::create("menu_guest_login_n.png", "menu_guest_login_s.png", this, menu_selector(LoginView::menuGuestLoginCallback)) ; guestLoginItem->setAnchorPoint(ccp(0, 0)) ; guestLoginItem->setPosition(ccp(0, 0)) ; // 忘记密码 CCMenuItemImage* forgetPwdItem = CCMenuItemImage::create("menu_forget_pwd_n.png", "menu_forget_pwd_s.png", this, menu_selector(LoginView::menuForgetPwdCallback)) ; forgetPwdItem->setAnchorPoint(ccp(0, 0)) ; forgetPwdItem->setPosition(ccp(menu_item_width+loginNode_padding, 0)) ; // go CCMenuItemImage* goMenuItem = CCMenuItemImage::create("menu_go_n.png", "menu_go_s.png", this, menu_selector(LoginView::menuGoCallback)) ; goMenuItem->setAnchorPoint(ccp(0, 0)) ; goMenuItem->setPosition(ccp(2*(menu_item_width+loginNode_padding), 0)) ; CCMenu* goMenu = CCMenu::create(guestLoginItem, forgetPwdItem, goMenuItem, NULL) ; goMenu->setAnchorPoint(ccp(0, 0)) ; goMenu->setPosition(ccp(0, 0)) ; optionNode->addChild(goMenu) ; /* ///////////////////////////////////////////////////////////////////////////////////////////// CCLabelTTF* tipLabel = CCLabelTTF::create("小提示:在游戏中达到规定时间,可以获取神秘大奖哦!", CCSizeMake(winSize.width, 45), kCCTextAlignmentCenter, kCCVerticalTextAlignmentCenter, "font01.ttf", 22.0f) ; tipLabel->setAnchorPoint(ccp(0.5, 0)) ; tipLabel->setPosition(ccp(winSize.width/2, 20)) ; this->addChild(tipLabel, 2) ; */ // 接收键盘点击事件 this->setKeypadEnabled(true) ; // 触摸可使用 this->setTouchEnabled(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... ////////////////////////////////////////////////////////////////////////// // 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)); CCMenuItemImage *pItemPageTurn = CCMenuItemImage::create( "CloseNormal.png", "CloseSelected.png", this, menu_selector(HelloWorld::testPageTurnScene)); CC_BREAK_IF(! pItemPageTurn); // Place the menu item bottom-right conner. pItemPageTurn->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 80, 0)); pItemPageTurn->setAnchorPoint(ccp(0,0)); // Create a menu with the "close" menu item, it's an auto release object. CCMenu* pMenu = CCMenu::create(pCloseItem,pItemPageTurn, 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; }
bool ToyLayer::init() { //=================== Box2D World ======================== b2Vec2 gravity; gravity.Set(0.0F, -10.0F); this->world = new b2World(gravity); world->SetAllowSleeping(true); world->SetContinuousPhysics(true); //ToyContact *contact = new ToyContact(); //world->SetContactListener(contact); CCPoint tmp; tmp = VisibleRect::leftBottom(); b2Vec2 lb = b2Vec2(tmp.x / PTM_RATIO, tmp.y / PTM_RATIO); tmp = VisibleRect::rightBottom(); b2Vec2 rb = b2Vec2(tmp.x / PTM_RATIO, tmp.y / PTM_RATIO); tmp = VisibleRect::leftTop(); b2Vec2 lt = b2Vec2(tmp.x / PTM_RATIO, tmp.y / PTM_RATIO); tmp = VisibleRect::rightTop(); b2Vec2 rt = b2Vec2(tmp.x / PTM_RATIO, tmp.y / PTM_RATIO); b2BodyDef bodyDef; this->groundBody = this->world->CreateBody(&bodyDef); //World Edge b2BodyDef bd; b2Body* ground = this->world->CreateBody(&bd); { b2EdgeShape shape; shape.Set(lb, rb); ground->CreateFixture(&shape, 0.0f); } { b2EdgeShape shape; shape.Set(lt, rt); ground->CreateFixture(&shape, 0.0f); } { b2EdgeShape shape; shape.Set(lb, lt); ground->CreateFixture(&shape, 0.0f); } { b2EdgeShape shape; shape.Set(rb, rt); ground->CreateFixture(&shape, 0.0f); } //enable this->setTouchEnabled( true ); this->setAccelerometerEnabled( true ); //=================== Others ======================= this->toyArray = CCArray::create(); this->toyArray->retain(); //CCSpriteBatchNode *boxBatch = CCSpriteBatchNode::create("Images/blocks.png", 100); CCSpriteBatchNode *boxBatch = CCSpriteBatchNode::create("Images/ToyBrick/Triangle/1.png", 100); boxBatch->setTag(1); this->addChild(boxBatch, 0); this->boxTexture = boxBatch->getTexture(); //init this->AddRandomToyBrick(ccp(200, 200)); this->AddRandomToyBrick(ccp(300, 300)); this->AddRandomToyBrick(ccp(500, 500)); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //Menu -Close CCMenuItemImage *closeItem = CCMenuItemImage::create( "close.png", "close.png", this, menu_selector(ToyLayer::Back)); closeItem->setAnchorPoint(CCPointZero); closeItem->setScale(2); CCSize itemSize = closeItem->getContentSize(); closeItem->setPosition(winSize.width - (itemSize.width + 15) * 2, winSize.height - (itemSize.height + 15) * 2); CCMenu* menu = CCMenu::create(closeItem, NULL); menu->setPosition(0, 0); this->addChild(menu); //=================== Common Setting ===================== scheduleUpdate(); return true; }
void HelloWorld::initBtn() { /** * 关闭按钮 */ CCMenuItemImage *pCloseItem = CCMenuItemImage::itemFromNormalImage( "CloseNormal.png", "CloseSelected.png", this, menu_selector(HelloWorld::menuCloseCallback)); pCloseItem->setAnchorPoint(ccp(0,0)); pCloseItem->setPosition(ccp(Constants::BTN_CLOSE_POSITION_X, Constants::BTN_CLOSE_POSITION_Y)); /** * 设置按钮 */ CCMenuItemImage *pSettingItem = CCMenuItemImage::itemFromNormalImage( "SettingNormal.png", "SettingSelected.png", this, menu_selector(HelloWorld::menuSettingCallback)); pSettingItem->setAnchorPoint(ccp(0,0)); pSettingItem->setPosition( ccp(Constants::BTN_SETTING_POSITION_X, Constants::BTN_SETTING_POSITION_Y)); pAddItem = CCMenuItemImage::itemFromNormalImage("AddNormal.png", "AddSelected.png", this, menu_selector(HelloWorld::menuAddCallback)); pAddItem->setAnchorPoint(ccp(0,0)); pAddItem->setPosition(ccp(Constants::BTN_ADD_POSITION_X, Constants::BTN_ADD_POSITION_Y)); // TODO 修改禁用的图片 CCSprite *pAddItemDisable = CCSprite::spriteWithFile("AddDisable.png"); pAddItem->setDisabledImage(pAddItemDisable); pAddItem->setIsEnabled(true); /** * 删除按钮 */ pDeleteItem = CCMenuItemImage::itemFromNormalImage("DeleteNormal.png", "DeleteSelected.png", this, menu_selector(HelloWorld::menuDeleteCallback)); pDeleteItem->setAnchorPoint(ccp(0,0)); pDeleteItem->setPosition(ccp(Constants::BTN_DELETE_POSITION_X, Constants::BTN_DELETE_POSITION_Y)); // TODO 修改禁用的图片 CCSprite *pDeleteItemDisable = CCSprite::spriteWithFile("DeleteDisable.png"); pDeleteItem->setDisabledImage(pDeleteItemDisable); pDeleteItem->setIsEnabled(true); /** * 开始按钮 */ pStartItem = CCMenuItemImage::itemFromNormalImage("StartNormal.png", "StartSelected.png", this, menu_selector(HelloWorld::menuStartCallback)); pStartItem->setAnchorPoint(ccp(0,0)); pStartItem->setPosition(ccp(Constants::BTN_START_POSITION_X, Constants::BTN_START_POSITION_Y)); // TODO 修改禁用的图片 CCSprite *pStartItemDisable = CCSprite::spriteWithFile("StartDisable.png"); pStartItem->setDisabledImage(pStartItemDisable); pStartItem->setIsEnabled(false); /** * 声音按钮 */ CCMenuItemImage *pSoundItem = CCMenuItemImage::itemFromNormalImage( "SoundNormal.png", "SoundSelected.png", this, menu_selector(HelloWorld::menuSoundCallback)); pSoundItem->setAnchorPoint(ccp(0,0)); pSoundItem->setPosition(ccp(Constants::BTN_SOUND_POSITION_X, Constants::BTN_SOUND_POSITION_Y)); // create menu, it's an autorelease object CCMenu* pMenu = CCMenu::menuWithItems(pSettingItem, pCloseItem, pAddItem, pDeleteItem, pStartItem, pSoundItem, NULL); pMenu->setPosition(CCPointZero); this->addChild(pMenu, 1); }
bool GameLayer::init() { if (!CCLayer::init()) { return false; } // 开启触摸 this->setTouchEnabled(true); // 创建数组,需要retain一下 play_bullet = CCArray::create(); play_bullet->retain(); enemy_bullet = CCArray::create(); enemy_bullet->retain(); enemy_items = CCArray::create(); enemy_items->retain(); m_state = statePlaying;//statePlaying=0 Enemy::sharedEnemy(); Effect::sharedExplosion(); Config::sharedConfig()->resetConfig(); winSize = CCDirector::sharedDirector()->getWinSize(); m_levelManager = new LevelManager(this); //初始化背景 initBackground(); m_screenRec = CCRectMake(0, 0, winSize.width, winSize.height + 10); // score CCLabelBMFont *scoreLabel = CCLabelBMFont::create("SCORE: ", s_arial14_fnt); scoreLabel->setAnchorPoint(ccp(0, 0)); addChild(scoreLabel, 1000); scoreLabel->setColor(ccc3(255, 240, 188)); scoreLabel->setPosition(100, winSize.height - 30); { // 1 1 000 m_lbScore1 = CCLabelBMFont::create("", s_arial14_fnt); m_lbScore1->setAnchorPoint(ccp(0, 0)); m_lbScore1->setColor(ccc3(200,0,200)); addChild(m_lbScore1, 1000); m_lbScore1->setPosition(scoreLabel->getPositionX()+scoreLabel->getContentSize().width, scoreLabel->getPositionY()); // m_lbScore2 = CCLabelBMFont::create("", s_arial14_fnt); m_lbScore2->setAnchorPoint(ccp(0, 0)); m_lbScore2->setColor(ccYELLOW); addChild(m_lbScore2, 1000); m_lbScore2->setPosition(m_lbScore1->getPositionX()+m_lbScore1->getContentSize().width, m_lbScore1->getPositionY()); // m_lbScore3 = CCLabelBMFont::create("", s_arial14_fnt); m_lbScore3->setAnchorPoint(ccp(0, 0)); addChild(m_lbScore3, 1000); m_lbScore3->setPosition(m_lbScore2->getPositionX()+m_lbScore2->getContentSize().width, m_lbScore2->getPositionY()); } // ship life CCTexture2D *shipTexture = CCTextureCache::sharedTextureCache()->addImage(s_ship01); CCSprite *life = CCSprite::createWithTexture(shipTexture, CCRectMake(0, 0, 60, 38)); life->setScale(0.6); life->setPosition(ccp(30,winSize.height-23)); addChild(life, 1, 5); // ship life count char lifecount[2]; sprintf(lifecount, "%d",Config::sharedConfig()->getLifeCount()-1); m_lifeCount = CCLabelTTF::create(lifecount, "Arial", 20); m_lifeCount->setPosition(ccp(60, winSize.height-20)); m_lifeCount->setColor(ccc3(255,0, 0)); addChild(m_lifeCount, 1000); // ship m_ship = Ship::create(); addChild(m_ship, m_ship->getZoder(), 1001); //pause CCMenuItemImage *pause = CCMenuItemImage::create("pause.png", "pause.png", this, menu_selector(GameLayer::doPause)); pause->setAnchorPoint(ccp(1, 1)); pause->setScale(0.8); pause->setPosition(ccp(winSize.width, winSize.height)); CCMenu *menu = CCMenu::create(pause, NULL); menu->setAnchorPoint(ccp(0, 0)); addChild(menu, 1, 10); menu->setPosition(CCPointZero); // 调 update函数 scheduleUpdate(); // 每秒调一次 scoreCounter函数 schedule(schedule_selector(GameLayer::scoreCounter), 1); if (Config::sharedConfig()->getAudioState()) { SimpleAudioEngine::sharedEngine()->playBackgroundMusic(s_bgMusic, true); } return true; }
bool CMainMenuLayer::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } ///////////////////////////// // 2. add a background image CCMenu* pMenu = nullptr; CCMenuItemImage *pOnTable = CCMenuItemImage::create( SHARED_MENU1_UNSELECTED.c_str(), SHARED_MENU1_SELECTED.c_str(), this, menu_selector(CMainMenuLayer::newgameCallback) ); CCSprite* pMenuImg01 = CCSprite::create(MAIN_MENU1_IMG.c_str()); pMenuImg01->setPosition(CCPoint(MAIN_MENU1_IMG_POS)); pMenuImg01->setAnchorPoint(ccp(0,0)); addChild(pMenuImg01,3); pOnTable->setAnchorPoint(ccp(0,0)); pOnTable->setPosition(CCPoint(MAIN_MENU1_POS) ); // create menu, it's an autorelease object pMenu = CCMenu::create(pOnTable, NULL); pMenu->setPosition(CCPointZero); this->addChild(pMenu, 1); CCMenuItemImage *pOnLine = CCMenuItemImage::create( SHARED_MENU2_UNSELECTED.c_str(), SHARED_MENU2_SELECTED.c_str(), this, menu_selector(CMainMenuLayer::multiplayCallback) ); CCSprite* pMenuImg02 = CCSprite::create(MAIN_MENU2_IMG.c_str()); pMenuImg02->setPosition(CCPoint(MAIN_MENU2_IMG_POS)); pMenuImg02->setAnchorPoint(ccp(0,0)); addChild(pMenuImg02,3); pOnLine->setAnchorPoint(ccp(0,0)); pOnLine->setPosition(CCPoint(MAIN_MENU2_POS)); // create menu, it's an autorelease object pMenu = CCMenu::create(pOnLine, NULL); pMenu->setPosition(CCPointZero); this->addChild(pMenu, 1); CCMenuItemImage *pSetting = CCMenuItemImage::create( SHARED_MENU3_UNSELECTED.c_str(), SHARED_MENU3_SELECTED.c_str(), this, menu_selector(CMainMenuLayer::settingCallback) ); CCSprite* pMenuImg03 = CCSprite::create(MAIN_MENU3_IMG.c_str()); pMenuImg03->setPosition(CCPoint(MAIN_MENU3_IMG_POS)); pMenuImg03->setAnchorPoint(ccp(0,0)); addChild(pMenuImg03,3); pSetting->setAnchorPoint(ccp(0,0)); pSetting->setPosition(CCPoint(MAIN_MENU3_POS)); // create menu, it's an autorelease object pMenu = CCMenu::create(pSetting, NULL); pMenu->setPosition(CCPointZero); this->addChild(pMenu, 1); //create menu title CCSprite* pMenuTitle = CCSprite::create(MAIN_MENU_TITLE.c_str()); pMenuTitle->setPosition(CCPoint(MAIN_MENU_TITLE_POS)); pMenuTitle->setAnchorPoint(ccp(0,0)); addChild(pMenuTitle,3); drawAnimation(); return true; }
bool ResulitLayer::initResulitLayer() { CCLayer::setIsKeypadEnabled(true); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); this->setContentSize(winSize); std::string strName = ""; strName = s_language + "tongji.png"; CCSprite *bg = CCSprite::spriteWithFile(strName.c_str()); bg->setPosition(ccp(winSize.width / 2, winSize.height / 2)); addChild(bg); float bgheight = bg->getContentSize().height; //grade std::string StrOne = ""; StrOne = s_language + "score.png"; CCSprite *nowGrade = CCSprite::spriteWithFile(StrOne.c_str()); nowGrade->setPosition(ccp(50, bgheight - 180)); nowGrade->setAnchorPoint(ccp(0, 0)); bg->addChild(nowGrade); stringstream ss; ss << PlayerMrg::getInstance()->getPlayer()->getPlayerGrade(); CCLabelAtlas* gradeLabel = CCLabelAtlas::labelWithString(ss.str().c_str(), "grade.png", 32, 45, '/');//CCLabelTTF::labelWithString(ss.str().c_str(), "Arial", 30); gradeLabel->setAnchorPoint(ccp(0, 0)); gradeLabel->setPosition(ccp(50 + nowGrade->getContentSize().width + 5, bgheight - 180)); gradeLabel->setScale(0.75); bg->addChild(gradeLabel); //lastHightGrade std::string stdName = ""; stdName = s_language + "topscore.png"; CCSprite *lastGrade = CCSprite::spriteWithFile(stdName.c_str()); lastGrade->setPosition(ccp(50, bgheight - 220)); lastGrade->setAnchorPoint(ccp(0, 0.5)); bg->addChild(lastGrade); ss.str(""); ss.clear(); ss << PlayerMrg::getInstance()->getPlayerLastHightGrade(); CCLabelAtlas* lastgradeLabel = CCLabelAtlas::labelWithString(ss.str().c_str(), "grade.png", 32, 45, '/');//CCLabelTTF::labelWithString(ss.str().c_str(), "Arial", 30); lastgradeLabel->setScale(0.75); lastgradeLabel->setPosition(ccp(50 + lastGrade->getContentSize().width + 5, bgheight - 220)); lastgradeLabel->setAnchorPoint(ccp(0, 0.5)); bg->addChild(lastgradeLabel); ss.str(""); ss.clear(); if (PlayerMrg::getInstance()->getPlayer()->getPlayerGrade() > PlayerMrg::getInstance()->getPlayerLastHightGrade()) { PlayerMrg::getInstance()->setPlayerLastHightGrade(PlayerMrg::getInstance()->getPlayer()->getPlayerGrade()); } //chongxin kaishi std::string nameOne = ""; nameOne = s_touchfile + s_language + "actor_btn_restart.png"; CCMenuItemImage *pContinue = CCMenuItemImage::itemFromNormalImage( nameOne.c_str(), NULL, this, menu_selector(ResulitLayer::restartGame)); pContinue->setPosition(ccp(bg->getContentSize().width / 2 - pContinue->getContentSize().width / 2 + 30, bgheight - 320)); pContinue->setAnchorPoint(ccp(0, 0)); pContinue->setScale(0.75); std::string str = s_touchfile + s_language + "actor_btn_exit.png"; CCMenuItemImage *pExit = CCMenuItemImage::itemFromNormalImage( str.c_str(), NULL, this, menu_selector(ResulitLayer::menuExitCallBack)); pExit->setPosition(ccp(bg->getContentSize().width / 2 - pExit->getContentSize().width / 2 + 30, bgheight - 390)); pExit->setScale(0.75); pExit->setAnchorPoint(CCPointZero); // create menu, it's an autorelease object CCMenu* pMenu = CCMenu::menuWithItems(pContinue, pExit, NULL); pMenu->setPosition(CCPointZero); bg->addChild(pMenu); return true; }