// on "init" you need to initialize your instance bool TitleScene::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } //add the menu item for back to main menu int contentHeight = 0; int contentWidth = 0; m_pItemMenu = CCMenu::create(); for (int i = 0; i < ITEM_COUNT; ++i) { CCLabelTTF* label = CCLabelTTF::create(menuItem[i].c_str(), "Arial", VisibleRect::getScaledFont(20)); CCMenuItemLabel* pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(TitleScene::menuCallback)); pMenuItem->setAnchorPoint(CCPointZero); contentHeight = MAX(contentHeight, pMenuItem->getContentSize().height); contentWidth = MAX(contentWidth, pMenuItem->getContentSize().width); CCLog("Height = %d", contentHeight); CCLog("Width = %d", contentWidth); m_pItemMenu->addChild(pMenuItem, i + 10000); } m_pItemMenu->setContentSize(CCSizeMake(contentWidth, (ITEM_COUNT - 1) * contentHeight)); m_pItemMenu->setPosition(ccp( CCDirector::sharedDirector()->getWinSize().width - m_pItemMenu->getContentSize().width, m_pItemMenu->getContentSize().height)); m_pItemMenu->alignItemsVertically(); this->addChild(m_pItemMenu, 1); ///////////////////////////// // 3. add your codes below... // add a label shows "Hello World" // create and initialize a label // CCLabelTTF* pLabel = CCLabelTTF::create("Title Scene", "Thonburi", VisibleRect::getScaledFont(34)); // // // ask director the window size // CCSize size = VisibleRect::getVisibleRect().size; // // // position the label on the center of the screen // pLabel->setPosition( ccp(size.width / 2, size.height - VisibleRect::getScaledFont(20)) ); // // // add the label as a child to this layer // this->addChild(pLabel, 1); // add "HelloWorld" splash screen" CCSprite* pSprite = CCSprite::create("Default.png"); pSprite->setScale(VisibleRect::getScale()); // position the sprite on the center of the screen pSprite->setPosition( ccp(VisibleRect::getVisibleRect().size.width/2, VisibleRect::getVisibleRect().size.height/2) ); // add the sprite as a child to this layer this->addChild(pSprite, 0); return true; }
void BYGameScene::loadUI() { CCSpriteFrameCache *frameCache = CCSpriteFrameCache::sharedSpriteFrameCache(); frameCache->addSpriteFramesWithFile("ui.plist", "ui.png"); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); /// pause button CCSprite* btnNormalSprite = CCSprite::createWithSpriteFrameName("pause.png"); CCMenuItemSprite *pauseMenuItem = CCMenuItemSprite::create(btnNormalSprite, btnNormalSprite, this, menu_selector(BYGameScene::pauseButtonHandler)); /// 2 labels for goals ccColor3B color = ccc3(220, 70, 20); /// red color _labelBotPlayerGoalsScored = CCLabelTTF::create("0", "Marker Felt", 40); _labelBotPlayerGoalsScored->setColor(color); CCMenuItemLabel *labelBot = CCMenuItemLabel::create(_labelBotPlayerGoalsScored, NULL, NULL); labelBot->setEnabled(false); _labelTopPlayerGoalsScored = CCLabelTTF::create("0", "Marker Felt", 40); _labelTopPlayerGoalsScored->setColor(color); CCMenuItemLabel *labelTop = CCMenuItemLabel::create(_labelTopPlayerGoalsScored, NULL, NULL); labelTop->setEnabled(false); /// CCMenu doesnt support anchorPoint as of 0x00020003 version CCMenu *menu = CCMenu::create(labelTop, pauseMenuItem, labelBot, NULL); menu->alignItemsHorizontallyWithPadding(5); menu->setAnchorPoint(CCPointMake(0, 0)); menu->setPosition(CCPointMake(winSize.width - pauseMenuItem->getContentSize().width / 2, winSize.height / 2)); menu->setRotation(90); this->addChild(menu); }
// on "init" you need to initialize your instance bool AboutScene::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); //背景图片 start CCSprite* pSprite = CCSprite::create("about.png"); float winw = visibleSize.width; //获取屏幕宽度 float winh = visibleSize.height;//获取屏幕高度 float spx = pSprite->getTextureRect().getMaxX(); float spy = pSprite->getTextureRect().getMaxY(); // add the sprite as a child to this layer float scaleX = winw/spx; float scaleY = winh/spy; pSprite->setScaleX(scaleX); pSprite->setScaleY(scaleY); // position the sprite on the center of the screen pSprite->setPosition(ccp(visibleSize.width/2, visibleSize.height/2)); addChild(pSprite,0); CCLabelTTF* backlabel = CCLabelTTF::create("返回", "AR PLMingU20 Light", 24); backlabel->setColor(ccc3(0,0,0)); CCMenuItemLabel *back = CCMenuItemLabel::create(backlabel,this,menu_selector(AboutScene::backCallback)); back->setPosition(300,-visibleSize.height/2+50); CCMenu * menu = CCMenu::create(back,NULL); this->addChild(menu,2); return true; }
TestController::TestController() : m_tBeginPos(0, 0) , m_pItemMenu(NULL) { // add close menu CCMenuItemImage *pCloseItem = CCMenuItemImage::create(s_pPathClose, s_pPathCloseSelected, this, menu_selector(TestController::closeCallback)); CCMenu* pMenu = CCMenu::create(pCloseItem, NULL); pMenu->setPosition(CCPointZero); pCloseItem->setPosition(ccp(VisibleRect::right().x - 30 , VisibleRect::top().y - 30)); addChild(pMenu, 1); //add menu ites for tests m_pItemMenu = CCMenu::create(); for (int i=0; i < TESTS_COUNT; i++) { //add the menu item for back to main menu //#if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) //CCLabelBMFont* label = CCLabelBMFont::create("MainMenu", "fonts/arial16.fnt"); //#else CCLabelTTF* label = CCLabelTTF::create(g_aTestNames[i].c_str(), "Arial", 24); //#endif CCMenuItemLabel* pMenuItemLabel = CCMenuItemLabel::create(label, this, menu_selector(TestController::menuCallback)); m_pItemMenu->addChild(pMenuItemLabel, 0, i + 10000); pMenuItemLabel->setPosition(ccp(VisibleRect::center().x, (VisibleRect::top().y - (i+1) * LINE_SPACE ))); } m_pItemMenu->setContentSize(CCSizeMake(VisibleRect::getVisibleRect().size.width, (TESTS_COUNT + 1) * LINE_SPACE)); m_pItemMenu->setPosition(s_tCurPos); addChild(m_pItemMenu); //这里有个坑,使用create方法,必须从写init方法,并且设置m_bTouchEnabled=true,从能滚动 //若外部使用new的方式,这里设置true就可以滚动。 setTouchEnabled(true); }
CCMenuItemLabel * CCMenuItemLabel::create(CCNode*label, CCObject* target, SEL_MenuHandler selector) { CCMenuItemLabel *pRet = new CCMenuItemLabel(); pRet->initWithLabel(label, target, selector); pRet->autorelease(); return pRet; }
CCMenuItemLabel * CCMenuItemLabel::itemWithLabel(CCNode*label, SelectorProtocol* target, SEL_MenuHandler selector) { CCMenuItemLabel *pRet = new CCMenuItemLabel(); pRet->initWithLabel(label, target, selector); pRet->autorelease(); return pRet; }
// on "init" you need to initialize your instance bool MissionLayer::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } this->setKeypadEnabled(true); CCSize size = CCDirector::sharedDirector()->getWinSize(); CCLabelTTF* title = CCLabelTTF::create("Mission", "Arial", 24); title->setPosition( ccp(size.width / 2, size.height - 20)); this->addChild(title, 1); ///////////////////////////// // 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( "b1.png", "b2.png", this, menu_selector(MissionLayer::menuBackCallback) ); pCloseItem->setPosition( ccp(pCloseItem->getContentSize().width / 2 , 20) ); // create menu, it's an autorelease object CCMenu* pMenu = CCMenu::create(pCloseItem, NULL); pMenu->setPosition( CCPointZero ); this->addChild(pMenu, 1); // add next menu CCMenuItemImage *pNextItem = CCMenuItemImage::create( "f1.png", "f2.png", this, menu_selector(MissionLayer::menuNextCallback) ); pNextItem->setPosition( ccp(size.width - pNextItem->getContentSize().width / 2, 20) ); // create menu, it's an autorelease object CCMenu* pNextMenu = CCMenu::create(pNextItem, NULL); pNextMenu->setPosition( CCPointZero ); this->addChild(pNextMenu, 1); float step = 35; float yPos = 0; for (int i = 0; i < sizeof(s_EventMenuItem)/sizeof(s_EventMenuItem[0]); i++) { char buf[64]; sprintf(buf, s_EventMenuItem[i].id.c_str(), missionid); CCLabelTTF* label = CCLabelTTF::create(buf, "Arial", 24); CCMenuItemLabel* pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(MissionLayer::eventMenuCallback)); pMenu->addChild(pMenuItem, 0, s_EventMenuItem[i].tag); yPos = size.height - step*i - 100; pMenuItem->setPosition( ccp(size.width / 2, yPos)); } return true; }
// on "init" you need to initialize your instance bool StartLayer::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCLabelTTF *label = CCLabelTTF::create("New Game", "Arial", 24 * 2); CCMenuItemLabel *pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(StartLayer::menuNewGameCallback)); pMenuItem->setTag(1); pMenuItem->setPosition(winSize.width / 2, winSize.height / 2); CCMenu* pMenu = CCMenu::create(pMenuItem, NULL); pMenu->setPosition(CCPointZero); CC_BREAK_IF(! pMenu); this->addChild(pMenu, 1); CCLabelTTF* pLabel = CCLabelTTF::create("Bubble Cat 2014", "Arial", 24 * 3); CC_BREAK_IF(! pLabel); pLabel->setPosition(ccp(winSize.width / 2, winSize.height - 50)); this->addChild(pLabel, 1); CCSprite* pSprite = CCSprite::create("StartScene_CN.jpg"); CC_BREAK_IF(! pSprite); pSprite->setPosition(ccp(winSize.width/2, winSize.height/2)); this->addChild(pSprite, 0); bRet = true; } while (0); return bRet; }
CCMenuItemLabel* CCMenuItemLabel::create(CCNode *label) { CCMenuItemLabel *pRet = new CCMenuItemLabel(); pRet->initWithLabel(label, NULL, NULL); pRet->autorelease(); return pRet; }
void VirtualCurrencyLayer::eventMenuCallback(CCObject* pSender) { CCMenuItemLabel* pMenuItem = (CCMenuItemLabel*)pSender; int i = pMenuItem->getTag(); EventParamMap paramMap; pthread_t thread; switch (i) { case ONREQUEST: TDCCVirtualCurrency::onChargeRequest("o_1", "iap", 10, "CN", 20, "T1"); break; case ONSUCCESS: pthread_create(&thread, NULL, runThread, NULL); break; case ONREWARD: TDCCVirtualCurrency::onReward(100, "reason"); break; case ONEVENT: paramMap.insert(EventParamPair("type", "popular")); paramMap.insert(EventParamPair("artist", "JJLin")); paramMap["aa"] = "bb"; TDCCTalkingDataGA::onEvent("music", ¶mMap); break; default: break; } }
bool MapEditLayer::init() { this->setTouchEnabled(true); CCLabelTTF* label = CCLabelTTF::create(str_back, "", 20); CCMenuItemLabel* labelItem = CCMenuItemLabel::create(label, this, menu_selector(MapEditLayer::back)); labelItem->setPosition(ccp(135,-200)); TMenuItem *item1 = TMenuItem::create(1, 1, 1,this, menu_selector(MapEditLayer::menuSelect)); item1->setPosition(ccp(-100, 180)); TMenuItem *item2 = TMenuItem::create(2, 2, 1,this, menu_selector(MapEditLayer::menuSelect)); item2->setPosition(ccp(-50, 180)); TMenuItem *item3 = TMenuItem::create(3, 3, 1,this, menu_selector(MapEditLayer::menuSelect)); item3->setPosition(ccp(0, 180)); TMenuItem *item4 = TMenuItem::create(4, 2, 2,this, menu_selector(MapEditLayer::menuSelect)); item4->setPosition(ccp(50, 180)); TMenuItem *item5 = TMenuItem::create(5, 1, 3,this, menu_selector(MapEditLayer::menuSelect)); item5->setPosition(ccp(100, 180)); CCMenu *menu = CCMenu::create(item1, item2, item3, item4, item5,labelItem, NULL); this->addChild(menu); return true; }
TestController::TestController() : m_tBeginPos(CCPointZero) { // add close menu CCMenuItemImage *pCloseItem = CCMenuItemImage::itemFromNormalImage(s_pPathClose, s_pPathClose, this, menu_selector(TestController::closeCallback) ); CCMenu* pMenu =CCMenu::menuWithItems(pCloseItem, NULL); CCSize s = CCDirector::sharedDirector()->getWinSize(); pMenu->setPosition( CCPointZero ); pCloseItem->setPosition(CCPointMake( s.width - 30, s.height - 30)); // add menu items for tests m_pItemMenu = CCMenu::menuWithItems(NULL); for (int i = 0; i < TESTS_COUNT; ++i) { // #if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) // CCLabelBMFont* label = CCLabelBMFont::labelWithString(g_aTestNames[i].c_str(), "fonts/arial16.fnt"); // #else CCLabelTTF* label = CCLabelTTF::labelWithString(g_aTestNames[i].c_str(), "Arial", 24); // #endif CCMenuItemLabel* pMenuItem = CCMenuItemLabel::itemWithLabel(label, this, menu_selector(TestController::menuCallback)); m_pItemMenu->addChild(pMenuItem, i + 10000); pMenuItem->setPosition( CCPointMake( s.width / 2, (s.height - (i + 1) * LINE_SPACE) )); } m_pItemMenu->setContentSize(CCSizeMake(s.width, (TESTS_COUNT + 1) * (LINE_SPACE))); m_pItemMenu->setPosition(s_tCurPos); addChild(m_pItemMenu); setIsTouchEnabled(true); addChild(pMenu, 1); }
//-------------------------------------------------------- CListControllerLayer::CListControllerLayer() : m_tBeginPos( CCPointZero ) { CCMenuItemImage *pCloseItem = CCMenuItemImage::create(s_szCloseBtnImagePath, s_szCloseBtnImagePath, this, menu_selector(CListControllerLayer::closeCallback) ); CCMenu* pMenu =CCMenu::create(pCloseItem, NULL); pMenu->setPosition( CCPointZero ); pCloseItem->setPosition(ccp( CVisibleRect::right().x - 50, CVisibleRect::bottom().y + 50)); m_pItemMenu = CCMenu::create(); for (int i = 0; i < static_cast<int>(eTestSceneType_Max); ++i) { CCLabelTTF* label = CCLabelTTF::create( FKCW_Base_StringConvert::a2u( g_aTestNames[i].c_str() ).c_str(), "Arial", 32); label->setColor( _GetColorByName(g_aTestNames[i]) ); CCMenuItemLabel* pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(CListControllerLayer::menuCallback)); m_pItemMenu->addChild(pMenuItem, i + 10000); pMenuItem->setPosition( ccp( CVisibleRect::center().x, (CVisibleRect::top().y - (i + 1) * TEST_MENU_LINE_SPACE) )); } m_pItemMenu->setContentSize(CCSizeMake(CVisibleRect::getVisibleRect().size.width, (static_cast<int>(eTestSceneType_Max) + 1) * (TEST_MENU_LINE_SPACE))); m_pItemMenu->setPosition(s_tCurPos); addChild(m_pItemMenu); setTouchEnabled(true); addChild(pMenu, 1); FKCOLORLOG( eConsolTextColor_Blue | eConsolBKColor_Yellow, "创建ListControllerLayer成功" ); }
TestController::TestController() : m_tBeginPos(CCPointZero) { // add close menu CCMenuItemImage *pCloseItem = CCMenuItemImage::create(s_pPathClose, s_pPathClose, this, menu_selector(TestController::closeCallback) ); CCMenu* pMenu =CCMenu::create(pCloseItem, NULL); pMenu->setPosition( CCPointZero ); pCloseItem->setPosition(ccp( VisibleRect::right().x - 30, VisibleRect::top().y - 30)); // add menu items for tests m_pItemMenu = CCMenu::create(); for (int i = 0; i < TESTS_COUNT; ++i) { // #if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) // CCLabelBMFont* label = CCLabelBMFont::create(g_aTestNames[i].c_str(), "fonts/arial16.fnt"); // #else CCLabelTTF* label = CCLabelTTF::create(g_aTestNames[i].c_str(), "Arial", 24); // #endif CCMenuItemLabel* pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(TestController::menuCallback)); m_pItemMenu->addChild(pMenuItem, i + 10000); pMenuItem->setPosition( ccp( VisibleRect::center().x, (VisibleRect::top().y - (i + 1) * LINE_SPACE) )); } m_pItemMenu->setContentSize(CCSizeMake(VisibleRect::getVisibleRect().size.width, (TESTS_COUNT + 1) * (LINE_SPACE))); m_pItemMenu->setPosition(s_tCurPos); addChild(m_pItemMenu); setTouchEnabled(true); addChild(pMenu, 1); }
void AboutLayer::setupViews(){ setBackgroundImage( "loading.png" ); // 加入title CCSprite* title = CCSprite::create( "menuTitle.png",CCRectMake(0, 34, 130, 38) ); title->setAnchorPoint( ccp(0.5, 1) ); title->setPosition( ccp( getWinSize().width / 2 ,getWinSize().height -20 ) ); this->addChild( title ); // 加入文字说明 CCLabelBMFont* pDes = CCLabelBMFont::create( "This Game is recoded by longlingxiu ", "arial-14.fnt" ); pDes->setPosition( ccp(getWinSize().width / 2, getWinSize().height / 2) ); this ->addChild(pDes); CCLabelBMFont* fontOfBack = CCLabelBMFont::create("Go Back", "arial-14.fnt" ); fontOfBack->setScale(1.5f); CCMenuItemLabel* backLabel = CCMenuItemLabel::create(fontOfBack, this, menu_selector(AboutLayer::back_callback)); backLabel->setAnchorPoint( ccp( 0.5, 0 ) ); backLabel->setPosition( ccp( getWinSize().width / 2, 30) ); CCMenu* menu = CCMenu::create( backLabel, NULL );; menu->setPosition( CCPointZero ); this->addChild( menu ); }
void ConfigMenu::makeMenu(){ CCMenuItemFont::setFontSize(50); CCMenuItemFont::setFontName("Arial"); //CCMenuItemToggle* music = CCMenuItemToggle::createWithTarget(this, menu_selector(ConfigMenu::musicMenuCallback), //CCMenuItemFont::create("Music OFF"), //CCMenuItemFont::create("Music ON"), NULL); CCMenuItemToggle* music = CCMenuItemToggle::createWithTarget(this, menu_selector(ConfigMenu::musicMenuCallback), CCMenuItemLabel::create(CCLabelBMFont::create("Music OFF", "arial-unicode-26.fnt", 300)), CCMenuItemLabel::create(CCLabelBMFont::create("Music ON", "arial-unicode-26.fnt", 300)), NULL); CCLabelBMFont* txtShare = CCLabelBMFont::create("Share", "arial-unicode-26.fnt", 300); //CCMenuItemFont* share = CCMenuItemFont::create("Share", this, menu_selector(ConfigMenu::shareMenuCallback)); //CCLabelTTF* d = CCLabelTTF::create("Share", "Arial", 30); CCMenuItemLabel* share = CCMenuItemLabel::create(txtShare, this, menu_selector(ConfigMenu::shareMenuCallback)); music->setPosition(ccp(0,-60)); share->setPosition(ccp(0, music->getContentSize().height+music->getPositionY()+20)); share->setScale(2); music->setScale(2); CCMenu *menu = CCMenu::create(music, share, NULL); //menu->setPosition(ccp(400,0)); menu->setOpacity(kCCMenuHandlerPriority); this->addChild(menu); if(!CCUserDefault::sharedUserDefault()->getBoolForKey(CONFIG_KEY_HAS_MUSIC)){ music->setSelectedIndex(1); }else{ music->setSelectedIndex(0); } }
CocosDenshionTest::CocosDenshionTest() : m_pItmeMenu(NULL), m_tBeginPos(CCPointZero), m_nSoundId(0) { std::string testItems[] = { "play background music", "stop background music", "pause background music", "resume background music", "rewind background music", "is background music playing", "play effect", "play effect repeatly", "stop effect", "unload effect", "add background music volume", "sub background music volume", "add effects volume", "sub effects volume", "pause effect", "resume effect", "pause all effects", "resume all effects", "stop all effects" }; // add menu items for tests m_pItmeMenu = CCMenu::create(); CCSize s = CCDirector::sharedDirector()->getWinSize(); m_nTestCount = sizeof(testItems) / sizeof(testItems[0]); for (int i = 0; i < m_nTestCount; ++i) { //#if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) // CCLabelBMFont* label = CCLabelBMFont::create(testItems[i].c_str(), "fonts/arial16.fnt"); //#else CCLabelTTF* label = CCLabelTTF::create(testItems[i].c_str(), "Arial", 24); //#endif CCMenuItemLabel* pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(CocosDenshionTest::menuCallback)); m_pItmeMenu->addChild(pMenuItem, i + 10000); pMenuItem->setPosition( CCPointMake( s.width / 2, (s.height - (i + 1) * LINE_SPACE) )); } m_pItmeMenu->setContentSize(CCSizeMake(s.width, (m_nTestCount + 1) * LINE_SPACE)); m_pItmeMenu->setPosition(CCPointZero); addChild(m_pItmeMenu); setTouchEnabled(true); // preload background music and effect SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE) ); SimpleAudioEngine::sharedEngine()->preloadEffect( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE) ); // set default volume SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.5); SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5); }
HttpClientTest::HttpClientTest() : m_labelStatusCode(NULL) { CCSize winSize = CCDirector::sharedDirector()->getWinSize(); const int MARGIN = 40; const int SPACE = 35; CCLabelTTF *label = CCLabelTTF::create("Http Request Test", "Arial", 28); label->setPosition(ccp(winSize.width / 2, winSize.height - MARGIN)); addChild(label, 0); CCMenu *menuRequest = CCMenu::create(); menuRequest->setPosition(CCPointZero); addChild(menuRequest); // Get CCLabelTTF *labelGet = CCLabelTTF::create("Test Get", "Arial", 22); CCMenuItemLabel *itemGet = CCMenuItemLabel::create(labelGet, this, menu_selector(HttpClientTest::onMenuGetTestClicked)); itemGet->setPosition(ccp(winSize.width / 2, winSize.height - MARGIN - SPACE)); menuRequest->addChild(itemGet); // Post CCLabelTTF *labelPost = CCLabelTTF::create("Test Post", "Arial", 22); CCMenuItemLabel *itemPost = CCMenuItemLabel::create(labelPost, this, menu_selector(HttpClientTest::onMenuPostTestClicked)); itemPost->setPosition(ccp(winSize.width / 2, winSize.height - MARGIN - 2 * SPACE)); menuRequest->addChild(itemPost); // Post Binary CCLabelTTF *labelPostBinary = CCLabelTTF::create("Test Post Binary", "Arial", 22); CCMenuItemLabel *itemPostBinary = CCMenuItemLabel::create(labelPostBinary, this, menu_selector(HttpClientTest::onMenuPostBinaryTestClicked)); itemPostBinary->setPosition(ccp(winSize.width / 2, winSize.height - MARGIN - 3 * SPACE)); menuRequest->addChild(itemPostBinary); // Put CCLabelTTF *labelPut = CCLabelTTF::create("Test Put", "Arial", 22); CCMenuItemLabel *itemPut = CCMenuItemLabel::create(labelPut, this, menu_selector(HttpClientTest::onMenuPutTestClicked)); itemPut->setPosition(ccp(winSize.width / 2, winSize.height - MARGIN - 4 * SPACE)); menuRequest->addChild(itemPut); // Delete CCLabelTTF *labelDelete = CCLabelTTF::create("Test Delete", "Arial", 22); CCMenuItemLabel *itemDelete = CCMenuItemLabel::create(labelDelete, this, menu_selector(HttpClientTest::onMenuDeleteTestClicked)); itemDelete->setPosition(ccp(winSize.width / 2, winSize.height - MARGIN - 5 * SPACE)); menuRequest->addChild(itemDelete); // Response Code Label m_labelStatusCode = CCLabelTTF::create("HTTP Status Code", "Marker Felt", 20); m_labelStatusCode->setPosition(ccp(winSize.width / 2, winSize.height - MARGIN - 6 * SPACE)); addChild(m_labelStatusCode); // Back Menu CCMenuItemFont *itemBack = CCMenuItemFont::create("Back", this, menu_selector(HttpClientTest::toExtensionsMainLayer)); itemBack->setPosition(ccp(VisibleRect::rightBottom().x - 50, VisibleRect::rightBottom().y + 25)); CCMenu *menuBack = CCMenu::create(itemBack, NULL); menuBack->setPosition(CCPointZero); addChild(menuBack); }
void HelloWorld::eventMenuCallback(CCObject* pSender) { CCMenuItemLabel* pMenuItem = (CCMenuItemLabel*)pSender; TShareInfo pInfo; pInfo["SharedText"] = "Share message : HelloSocial!"; // pInfo["SharedImagePath"] = "Full/path/to/image"; MySocialManager::MyShareMode mode = (MySocialManager::MyShareMode) (pMenuItem->getTag() - TAG_SHARE_BY_TWWITER + 1); MySocialManager::sharedSocialManager()->shareByMode(pInfo, mode); }
void RPGStartSceneLayer::showMainMenu() { CCMenu *mainMenu = CCMenu::create(); mainMenu->setAnchorPoint(CCPointZero); mainMenu->setPosition(CCPointZero); mainMenu->setTag(kRPGStartSceneLayerTagMainMenu); this->addChild(mainMenu); CCString *menuStartStr = (CCString*)this->m_stringList->objectForKey("mainmenu_start"); CCLabelTTF *menuStartLabel = CCLabelTTF::create(OzgCCUtility::generalString(menuStartStr->getCString()).c_str(), "FZCuYuan-M03S", 28, CCSizeMake(120, 40), kCCTextAlignmentCenter, kCCVerticalTextAlignmentCenter); CCString *menuRestartStr = (CCString*)this->m_stringList->objectForKey("mainmenu_restart"); CCLabelTTF *menuRestartLabel = CCLabelTTF::create(OzgCCUtility::generalString(menuRestartStr->getCString()).c_str(), "FZCuYuan-M03S", 28, CCSizeMake(120, 40), kCCTextAlignmentCenter, kCCVerticalTextAlignmentCenter); CCString *menuSettingsStr = (CCString*)this->m_stringList->objectForKey("mainmenu_settings"); CCLabelTTF *menuSettingsLabel = CCLabelTTF::create(OzgCCUtility::generalString(menuSettingsStr->getCString()).c_str(), "FZCuYuan-M03S", 28, CCSizeMake(120, 40), kCCTextAlignmentCenter, kCCVerticalTextAlignmentCenter); CCMenuItemLabel *menuStart = CCMenuItemLabel::create(menuStartLabel, this, menu_selector(RPGStartSceneLayer::onMenu)); menuStart->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width / 2, 230)); menuStart->setTag(kRPGStartSceneLayerTagMainMenuItemStart); mainMenu->addChild(menuStart); CCMenuItemLabel *menuRestart = CCMenuItemLabel::create(menuRestartLabel, this, menu_selector(RPGStartSceneLayer::onMenu)); menuRestart->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width / 2, 170)); menuRestart->setTag(kRPGStartSceneLayerTagMainMenuItemRestart); mainMenu->addChild(menuRestart); CCMenuItemLabel *menuSettings = CCMenuItemLabel::create(menuSettingsLabel, this, menu_selector(RPGStartSceneLayer::onMenu)); menuSettings->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width / 2, 110)); menuSettings->setTag(kRPGStartSceneLayerTagMainMenuItemSettings); mainMenu->addChild(menuSettings); }
//------------------------------------------------------------------ // // Clip Mapping (Aurora GT) // //------------------------------------------------------------------ void AnimClipMappingAuroraGT::onEnter() { AnimDemo::onEnter(); // surface CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); // texture CCTextureCache* tc = CCTextureCache::sharedTextureCache(); CCTexture2D* tex = tc->addImage("Files/prince.png"); // animation 1 m_sprite1 = CCAuroraSprite::create("Files/prince.bsprite", 78, tex, NULL); m_sprite1->setLoopCount(-1); m_sprite1->setPosition(ccp(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2)); m_sprite1->setUnitInterval(0.1f); m_sprite1->setDebugDrawFrameRect(true); m_sprite1->setDebugDrawCollisionRect(true); addChild(m_sprite1); // create clip mapping and add them to sprite CCAFCClipMapping* mapping = CCAFCClipMapping::createWithAuroraGT(1, "Files/prince_m00.mmp"); m_sprite1->addClipMapping(mapping); mapping = CCAFCClipMapping::createWithAuroraGT(2, "Files/prince_m01.mmp"); m_sprite1->addClipMapping(mapping); mapping = CCAFCClipMapping::createWithAuroraGT(3, "Files/prince_m02.mmp"); m_sprite1->addClipMapping(mapping); mapping = CCAFCClipMapping::createWithAuroraGT(4, "Files/prince_m03.mmp"); m_sprite1->addClipMapping(mapping); mapping = CCAFCClipMapping::createWithAuroraGT(5, "Files/prince_m04.mmp"); m_sprite1->addClipMapping(mapping); mapping = CCAFCClipMapping::createWithAuroraGT(6, "Files/prince_m05.mmp"); m_sprite1->addClipMapping(mapping); mapping = CCAFCClipMapping::createWithAuroraGT(7, "Files/prince_m06.mmp"); m_sprite1->addClipMapping(mapping); mapping = CCAFCClipMapping::createWithAuroraGT(8, "Files/prince_m07.mmp"); m_sprite1->addClipMapping(mapping); CCLabelTTF* label = CCLabelTTF::create("Switch Clip Mapping", "Helvetica", 16); CCMenuItemLabel* item = CCMenuItemLabel::create(label, this, menu_selector(AnimClipMappingAuroraGT::onSwitchClipMapping)); item->setPosition(ccp(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 7)); CCMenu* menu = CCMenu::create(item, NULL); menu->setPosition(CCPointZero); addChild(menu); scheduleUpdate(); setTouchEnabled(true); setTouchMode(kCCTouchesOneByOne); }
void HelloWorld::eventMenuCallback(CCObject* pSender) { CCMenuItemLabel* pMenuItem = (CCMenuItemLabel*)pSender; TProductInfo pInfo; MyPurchase::MyPayMode mode = (MyPurchase::MyPayMode) (pMenuItem->getTag() - TAG_PAY_BY_ALIPAY + 1); pInfo["productName"] = "100金币"; pInfo["productPrice"] = "0.01"; pInfo["productDesc"] = "100个金灿灿的游戏币哦"; pInfo["Nd91ProductId"] = "685994"; MyPurchase::sharedPurchase()->payByMode(pInfo, mode); }
// on "init" you need to initialize your instance bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSize size = CCDirector::sharedDirector()->getWinSize(); ///////////////////////////// // 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(size.width - 20, 20) ); // create menu, it's an autorelease object CCMenu* pMenu = CCMenu::create(pCloseItem, NULL); pMenu->setPosition( CCPointZero ); this->addChild(pMenu, 1); float yPos = 0; for (int i = 0; i < sizeof(s_EventMenuItem)/sizeof(s_EventMenuItem[0]); i++) { CCLabelTTF* label = CCLabelTTF::create(s_EventMenuItem[i].id.c_str(), "Arial", 24); CCMenuItemLabel* pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(HelloWorld::eventMenuCallback)); pMenu->addChild(pMenuItem, 0, s_EventMenuItem[i].tag); yPos = size.height - 50*i - 100; pMenuItem->setPosition( ccp(size.width / 2, yPos)); } std::string strName = g_pAnalytics->getPluginName(); std::string strVer = g_pAnalytics->getPluginVersion(); char ret[256] = { 0 }; sprintf(ret, "Plugin : %s, Ver : %s", strName.c_str(), strVer.c_str()); CCLabelTTF* pLabel = CCLabelTTF::create(ret, "Arial", 24, CCSizeMake(size.width, 0), kCCTextAlignmentCenter); pLabel->setPosition(ccp(size.width / 2, yPos - 100)); addChild(pLabel); CCLabelTTF* label = CCLabelTTF::create("reload all plugins", "Arial", 24); CCMenuItemLabel* pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(HelloWorld::reloadPluginMenuCallback)); pMenuItem->setAnchorPoint(ccp(0.5f, 0)); pMenu->addChild(pMenuItem, 0); pMenuItem->setPosition( ccp(size.width / 2, 0)); return true; }
bool Options::init() { if (!CCLayer::init()) { return false; } CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCSprite *sp = CCSprite::create(s_loading); sp->setAnchorPoint(CCPointZero); addChild(sp, 0, 1); CCTexture2D *imageCache = CCTextureCache::sharedTextureCache()->addImage(s_menuTitle); CCSprite *title = CCSprite::createWithTexture(imageCache, CCRectMake(0, 0, 134, 34)); title->setPosition(ccp(winSize.width/2, winSize.height - 60)); addChild(title); CCMenuItemFont *menuTitle = CCMenuItemFont::create("Sound"); menuTitle->setFontName("Arial"); menuTitle->setFontSize(18); menuTitle->setEnabled(false); CCMenuItemFont::setFontName("Arial"); CCMenuItemFont::setFontSize(26); CCMenuItemToggle *toggle = CCMenuItemToggle::createWithTarget(this, menu_selector(Options::setOptions), CCMenuItemFont::create("On"),CCMenuItemFont::create("Off"), NULL); int selectId = Config::sharedConfig()->getAudioState()? 0 : 1; toggle->setSelectedIndex(selectId); CCLabelBMFont *backLb = CCLabelBMFont::create("Go Back", s_font); CCMenuItemLabel *goBack = CCMenuItemLabel::create(backLb, this, menu_selector(Options::goBack)); goBack->setScale(0.6); CCActionInterval *fadeIn = CCFadeTo::create(1, 80); CCActionInterval *fadeOut = CCFadeTo::create(1, 255); CCEaseSineInOut *ease1 = CCEaseSineInOut::create(fadeIn); CCEaseSineInOut *ease2 = CCEaseSineInOut::create(fadeOut); CCFiniteTimeAction *seq = CCSequence::create(ease1, ease2, NULL); // 这里也是,参数必须强转,否则NDK编译不过 goBack->runAction(CCRepeatForever::create((CCActionInterval*)seq)); CCMenu *menu = CCMenu::create( menuTitle, toggle, goBack, NULL); menu->alignItemsInColumns(2,1); addChild(menu); CCPoint pos = goBack->getPosition(); pos.y -= 50; goBack->setPosition(pos); return true; }
void UserInterface::Prepare() { CCLabelTTF *label = CCLabelTTF::create("Light ON/OFF", "HelveticaNeue-Bold", 25); CCMenuItemLabel *labelItem = CCMenuItemLabel::create(label, (CCObject *)engine, menu_selector(TEEngine::switchLight)); ccColor3B color = {255, 255, 255}; labelItem->setColor(color); labelItem->setPosition(CCPointZero); labelItem->setAnchorPoint(CCPointZero); CCMenu *menu = CCMenu::create(labelItem, nullptr); menu->setPosition(CCPoint(00, 560)); menu->setTouchEnabled(true); _guiNodes->addObject(menu); }
BackToMainMenuLayer::BackToMainMenuLayer() { //add the menu item for back to main menu CCLabelTTF* label = CCLabelTTF::labelWithString("MainMenu", "Arial", 20); CCMenuItemLabel* pMenuItem = CCMenuItemLabel::itemWithLabel(label, this, menu_selector(BackToMainMenuLayer::MainMenuCallback)); CCMenu* pMenu =CCMenu::menuWithItems(pMenuItem, NULL); CCSize s = CCDirector::sharedDirector()->getWinSize(); pMenu->setPosition( CCPointZero ); pMenuItem->setPosition( CCPointMake( s.width - 50, 25) ); addChild(pMenu, 1); }
void RPGBattleMenu::createMenuItem(float x, float y, CCString *text, RPGBattleMenuTag tag) { CCMenuItemLabel *menuItems = (CCMenuItemLabel*)this->getChildByTag(tag); if(!menuItems) { CCLabelTTF *menuItemsLabel = CCLabelTTF::create(OzgCCUtility::generalString(text->getCString()).c_str(), "Arial", 28, CCSizeMake(120, 30), kCCTextAlignmentCenter, kCCVerticalTextAlignmentCenter); CCMenuItemLabel *menuItems = CCMenuItemLabel::create(menuItemsLabel, this, menu_selector(RPGBattleMenu::onMenu)); menuItems->setPosition(ccp(x, y)); menuItems->setTag(tag); this->addChild(menuItems); } }
bool GameMenu::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); CCSize size = CCDirector::sharedDirector()->getWinSize(); CCSprite *bg = CCSprite::createWithSpriteFrameName("background.png"); CC_BREAK_IF(!bg); bg->setPosition(ccp(size.width / 2, size.height / 2)); bg->setScale(1.6); this->addChild(bg); CCLabelTTF* pLabel = CCLabelTTF::create("Main Menu", "Arial", 30); CC_BREAK_IF(!pLabel); pLabel->setColor(ccORANGE); pLabel->setPosition(ccp(size.width/2, size.height-50)); this->addChild(pLabel); pLabel = CCLabelTTF::create("Play Game", "Arial", 24); CC_BREAK_IF(!pLabel); CCMenuItemLabel *pPlayItem = CCMenuItemLabel::create( pLabel, this, menu_selector(GameMenu::menuPlayCallback)); CC_BREAK_IF(!pPlayItem); pPlayItem->setPosition(ccp(size.width/2, size.height/2)); pLabel = CCLabelTTF::create("Exit", "Arial", 24); CC_BREAK_IF(!pLabel); CCMenuItemLabel *pExitItem = CCMenuItemLabel::create( pLabel, this, menu_selector(GameMenu::menuExitCallback)); CC_BREAK_IF(!pExitItem); pExitItem->setPosition(ccp(size.width/2, size.height/2 - 40)); CCMenu *pMenu = CCMenu::create(pPlayItem, pExitItem, NULL); pMenu->setPosition(CCPointZero); CC_BREAK_IF(!pMenu); this->addChild(pMenu, 1); bRet = true; } while (0); return bRet; }
bool NovelScene::init() { if (!CCLayer::init()) { return false; } this->setTouchEnabled(true); this->setTouchMode(kCCTouchesOneByOne); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCSprite* background = CCSprite::create("013-PostTown01.jpg"); background->setPosition(ccp(winSize.width * 0.5, winSize.height * 0.5)); this->addChild(background, kZOrder_Background, kTag_Background); CCLayerColor * textLayer = CCLayerColor::create(ccc4(0, 0, 0, 255 * 0.7), winSize.width, winSize.height * 0.25); textLayer->setPosition(CCPointZero); this->addChild(textLayer, kZOrder_TextLayer, kTag_TextLayer); CCString* string = CCString::createWithFormat("w = %f.1 h = %f.1 f = %f", winSize.width, winSize.height, BASE_FONT_SIZE); CCLog("%s", string->getCString()); CCLabelTTF* textLabel = CCLabelTTF::create(string->getCString(), "", BASE_FONT_SIZE); textLabel->setAnchorPoint(ccp(0, 0)); textLabel->setColor(ccWHITE); textLabel->setPosition(ccp(BASE_FONT_SIZE, textLayer->getContentSize().height - textLabel->getContentSize().height - BASE_FONT_SIZE)); textLayer->addChild(textLabel, kZOrder_TextLayer, kTag_TextLayer_textLabel); CCLayerColor * nameTextLayer = CCLayerColor::create(ccc4(0, 0, 0, 255 * 0.7), winSize.width * 0.4, winSize.height * 0.1); nameTextLayer->setPosition(ccp(textLayer->getPositionX(), textLayer->getPositionY() + textLayer->getContentSize().height + nameTextLayer->getContentSize().height * 0.05)); this->addChild(nameTextLayer, kZOrder_TextLayer, kTag_TextLayer_name); CCLabelTTF* nameTextLabel = CCLabelTTF::create("시스템 메세지", "", BASE_FONT_SIZE); nameTextLabel->setAnchorPoint(ccp(0, 0)); nameTextLabel->setColor(ccGREEN); nameTextLabel->setPosition(ccp(BASE_FONT_SIZE, nameTextLayer->getContentSize().height - nameTextLabel->getContentSize().height - BASE_FONT_SIZE * 0.5)); nameTextLayer->addChild(nameTextLabel, kZOrder_TextLayer, kTag_TextLayer_nameTextLabel); CCLabelTTF* logButtonLabel = CCLabelTTF::create("Log", "Arial", BASE_FONT_SIZE); CCMenuItemLabel* logButtonMenuItem = CCMenuItemLabel::create(logButtonLabel, this, menu_selector(NovelScene::logMenuSelectCallback)); logButtonMenuItem->setPosition(ccp(winSize.width * 0.95, logButtonMenuItem->getContentSize().height)); CCMenu* pMenu = CCMenu::create(logButtonMenuItem, NULL); pMenu->setPosition(CCPointZero); this->addChild(pMenu, kZOrder_MenuItem, kTag_MenuItem_log); return true; }
void CocoStudioGUITestScene::onEnter() { CCScene::onEnter(); CCLabelTTF* label = CCLabelTTF::create("Back", "Arial", 20); //#endif CCMenuItemLabel* pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(CocoStudioGUITestScene::BackCallback)); CCMenu* pMenu =CCMenu::create(pMenuItem, NULL); pMenu->setPosition( CCPointZero ); pMenuItem->setPosition( ccp( VisibleRect::right().x - 50, VisibleRect::bottom().y + 25) ); addChild(pMenu, 1); }