예제 #1
0
bool PoptipLayer::addButton(const char* normalImage, const char* selectedImage, const char* title, CCPoint &pos, int tag/* = 0*/)
{
	CCSize winSize = CCDirector::sharedDirector()->getWinSize();
	CCPoint pCenter = ccp(winSize.width / 2, winSize.height / 2);

	// 创建图片菜单按钮
	CCMenuItemImage *normal = CCMenuItemImage::create(normalImage, normalImage);
	CCMenuItemImage *checked = CCMenuItemImage::create(selectedImage, selectedImage);
	//创建开关按钮选项,并设置回调函数
	CCMenuItemToggle *toggle = CCMenuItemToggle::createWithTarget(this,
		menu_selector(PoptipLayer::buttonCallback),
		normal,
		checked,
		NULL
		);



	toggle->setTag(tag);
	toggle->setPosition(pCenter);

	toggle->setPosition(pos);
	getMenuButton()->addChild(toggle);
	return true;

}
예제 #2
0
NotificationCenterTest::NotificationCenterTest()
: m_bShowImage(false)
{
    CCSize s = CCDirector::sharedDirector()->getWinSize();

    CCMenuItemFont* pBackItem = CCMenuItemFont::create("Back", this,
        menu_selector(NotificationCenterTest::toExtensionsMainLayer));
    pBackItem->setPosition(ccp(VisibleRect::rightBottom().x - 50, VisibleRect::rightBottom().y + 25));
    CCMenu* pBackMenu = CCMenu::create(pBackItem, NULL);
    pBackMenu->setPosition( CCPointZero );
    addChild(pBackMenu);

    CCLabelTTF *label1 = CCLabelTTF::create("switch off", "Marker Felt", 26);
    CCLabelTTF *label2 = CCLabelTTF::create("switch on", "Marker Felt", 26);
    CCMenuItemLabel *item1 = CCMenuItemLabel::create(label1);
    CCMenuItemLabel *item2 = CCMenuItemLabel::create(label2);
    CCMenuItemToggle *item = CCMenuItemToggle::createWithTarget(this, menu_selector(NotificationCenterTest::toggleSwitch), item1, item2, NULL);
    // turn on
    item->setSelectedIndex(1);
    CCMenu *menu = CCMenu::create(item, NULL);
    menu->setPosition(ccp(s.width/2+100, s.height/2));
    addChild(menu);

    CCMenu *menuConnect = CCMenu::create();
    menuConnect->setPosition(CCPointZero);
    addChild(menuConnect);

    for (int i = 1; i <= 3; i++)
    {
        Light* light = Light::lightWithFile("Images/Pea.png");
        light->setTag(kTagLight+i);
        light->setPosition(ccp(100, s.height/4*i));
        addChild(light);

        CCLabelTTF *label1 = CCLabelTTF::create("not connected", "Marker Felt", 26);
        CCLabelTTF *label2 = CCLabelTTF::create("connected", "Marker Felt", 26);
        CCMenuItemLabel *item1 = CCMenuItemLabel::create(label1);
        CCMenuItemLabel *item2 = CCMenuItemLabel::create(label2);
        CCMenuItemToggle *item = CCMenuItemToggle::createWithTarget(this, menu_selector(NotificationCenterTest::connectToSwitch), item1, item2, NULL);
        item->setTag(kTagConnect+i);
        item->setPosition(ccp(light->getPosition().x, light->getPosition().y+50));
        menuConnect->addChild(item, 0);
        if (i == 2)
        {
            item->setSelectedIndex(1);
        }
        bool bConnected = item->getSelectedIndex() == 1 ? true : false;
        light->setIsConnectToSwitch(bConnected);
    }

    CCNotificationCenter::sharedNotificationCenter()->postNotification(MSG_SWITCH_STATE, (CCObject*)(intptr_t)item->getSelectedIndex());

    /* for testing removeAllObservers */
    CCNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(NotificationCenterTest::doNothing), "random-observer1", NULL);
    CCNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(NotificationCenterTest::doNothing), "random-observer2", NULL);
    CCNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(NotificationCenterTest::doNothing), "random-observer3", NULL);
}
NotificationCenterTest::NotificationCenterTest()
: m_bShowImage(false)
{
    CCSize s = CCDirector::sharedDirector()->getWinSize();

    CCMenuItemFont* pBackItem = CCMenuItemFont::itemFromString("Back", this,
        menu_selector(NotificationCenterTest::toExtensionsMainLayer));
    pBackItem->setPosition(ccp(s.width - 50, 25));
    CCMenu* pBackMenu = CCMenu::menuWithItems(pBackItem, NULL);
    pBackMenu->setPosition( CCPointZero );
    addChild(pBackMenu);

    CCLabelTTF *label1 = CCLabelTTF::labelWithString("switch off", "Marker Felt", 26);
    CCLabelTTF *label2 = CCLabelTTF::labelWithString("switch on", "Marker Felt", 26);
    CCMenuItemLabel *item1 = CCMenuItemLabel::itemWithLabel(label1);
    CCMenuItemLabel *item2 = CCMenuItemLabel::itemWithLabel(label2);
    CCMenuItemToggle *item = CCMenuItemToggle::itemWithTarget(this, menu_selector(NotificationCenterTest::toggleSwitch), item1, item2, NULL);
    // turn on
    item->setSelectedIndex(1);
    CCMenu *menu = CCMenu::menuWithItems(item, NULL);
    menu->setPosition(ccp(s.width/2+100, s.height/2));
    addChild(menu);

    CCMenu *menuConnect = CCMenu::menuWithItems(NULL);
    menuConnect->setPosition(CCPointZero);
    addChild(menuConnect);

    for (int i = 1; i <= 3; i++)
    {
        Light* light = Light::lightWithFile("Images/Pea.png");
        light->setTag(kTagLight+i);
        light->setPosition(ccp(100, s.height/4*i));
        addChild(light);

        CCLabelTTF *label1 = CCLabelTTF::labelWithString("not connected", "Marker Felt", 26);
        CCLabelTTF *label2 = CCLabelTTF::labelWithString("connected", "Marker Felt", 26);
        CCMenuItemLabel *item1 = CCMenuItemLabel::itemWithLabel(label1);
        CCMenuItemLabel *item2 = CCMenuItemLabel::itemWithLabel(label2);
        CCMenuItemToggle *item = CCMenuItemToggle::itemWithTarget(this, menu_selector(NotificationCenterTest::connectToSwitch), item1, item2, NULL);
        item->setTag(kTagConnect+i);
        item->setPosition(ccp(light->getPosition().x, light->getPosition().y+50));
        menuConnect->addChild(item, 0);
        if (i == 2)
        {
            item->setSelectedIndex(1);
        }
        bool bConnected = item->getSelectedIndex() == 1 ? true : false;
        light->setIsConnectToSwitch(bConnected);
    }

    CCNotificationCenter::sharedNotifCenter()->postNotification(MSG_SWITCH_STATE, (CCObject*)item->getSelectedIndex());
}
예제 #4
0
void IOSStoreLayer::initMenuToggle()
{
	//开宝箱按钮开关
	CCMenuItemSprite* pNorItem = CCMenuItemSprite::create(
		CCSprite::create(ResManager::getManager()->getFilePathByLanguageType(g_storelayerPath+"main_shangdian_anniu_kaibaoxiang.png").c_str()),
		CCSprite::create(ResManager::getManager()->getFilePathByLanguageType(g_storelayerPath+"main_shangdian_anniu_kaibaoxiang.png").c_str()));
	CCMenuItemSprite* pPreItem = CCMenuItemSprite::create(
		CCSprite::create(ResManager::getManager()->getFilePathByLanguageType(g_storelayerPath+"main_shangdian_anniu_kaibaoxiang_select.png").c_str()), 
		CCSprite::create(ResManager::getManager()->getFilePathByLanguageType(g_storelayerPath+"main_shangdian_anniu_kaibaoxiang_select.png").c_str()));

	CCMenuItemToggle* pToggle = CCMenuItemToggle::createWithTarget(this, 
		menu_selector(IOSStoreLayer::clickToggleCallBack), 
		pNorItem,
		pPreItem, NULL);
	pToggle->setTag(kaibaoxiang_toggle_tag);
	pToggle->setPosition(ccp(m_pBg->getContentSize().width/2 - pToggle->getContentSize().width/2, 
		m_pBg->getContentSize().height/2 + pToggle->getContentSize().width/2 +25));
	pToggle->setSelectedIndex(1);
	m_pBgMenu->addChild(pToggle);

	//购买星星按钮开关
	pNorItem = CCMenuItemSprite::create(
		CCSprite::create(ResManager::getManager()->getFilePathByLanguageType(g_storelayerPath+"main_shangdian_anniu_goumaixingxing.png").c_str()), 
		CCSprite::create(ResManager::getManager()->getFilePathByLanguageType(g_storelayerPath+"main_shangdian_anniu_goumaixingxing.png").c_str()));
	pPreItem = CCMenuItemSprite::create(
		CCSprite::create(ResManager::getManager()->getFilePathByLanguageType(g_storelayerPath+"main_shangdian_anniu_goumaixingxing_select.png").c_str()), 
		CCSprite::create(ResManager::getManager()->getFilePathByLanguageType(g_storelayerPath+"main_shangdian_anniu_goumaixingxing_select.png").c_str()));

	pToggle = CCMenuItemToggle::createWithTarget(this, 
		menu_selector(IOSStoreLayer::clickToggleCallBack), 
		pNorItem,
		pPreItem, NULL);
	pToggle->setTag(buystar_toggle_tag);
	pToggle->setPosition(ccp(m_pBg->getContentSize().width/2 + pToggle->getContentSize().width/2,
		m_pBg->getContentSize().height/2 + pToggle->getContentSize().width/2 + 25));
	m_pBgMenu->addChild(pToggle);
}
예제 #5
0
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);
}
예제 #6
0
bool StartScene::init(){
	bool success = false;
	do{
		CCSprite* bg = CCSprite::create("startBg.jpg");
		CC_BREAK_IF(!bg);

		SETANCHPOS(bg,0,0,0,0);
		addChild(bg);

		//初始化用户数据
		GameData::getInstance();

		CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("start.plist","start.png");
		//游戏菜单
		CCMenu* menu = CCMenu::create();
		CC_BREAK_IF(!menu);
		SETANCHPOS(menu,650,130,0,0);
		addChild(menu);

		CCMenuItemSprite* start = CCMenuItemSprite::create(
			CCSprite::createWithSpriteFrameName("start.png"),
			CCSprite::createWithSpriteFrameName("start.png"),
			this,menu_selector(StartScene::btnCallback));	
		CC_BREAK_IF(!start);
		start->setTag(1);
		menu->addChild(start);

		CCMenuItemSprite* shop  = CCMenuItemSprite::create(
			CCSprite::createWithSpriteFrameName("shop.png"),
			CCSprite::createWithSpriteFrameName("shop.png"),
			this,menu_selector(StartScene::btnCallback));
		CC_BREAK_IF(!shop);
		shop->setTag(2);
		menu->addChild(shop);

		CCMenuItemSprite* more = CCMenuItemSprite::create(
			CCSprite::createWithSpriteFrameName("more.png"),
			CCSprite::createWithSpriteFrameName("more.png"),
			this,menu_selector(StartScene::btnCallback));
		CC_BREAK_IF(!more);
		more->setTag(3);
		menu->addChild(more);

		menu->alignItemsVertically();

		//标题
		CCSprite* titleBg = CCSprite::createWithSpriteFrameName("name_bg.png");
		CC_BREAK_IF(!titleBg);
		SETANCHPOS(titleBg,500,250,0,0);
		addChild(titleBg);

		CCSprite* title = CCSprite::createWithSpriteFrameName("name.png");
		CC_BREAK_IF(!title);
		SETANCHPOS(title,500,250,0,0);
		addChild(title);

		//开关按钮
		CCMenu* sound = CCMenu::create();
		CC_BREAK_IF(!sound);
		SETANCHPOS(sound,50,50,0,0);
		addChild(sound);

		soundOn = CCMenuItemSprite::create(
			CCSprite::createWithSpriteFrameName("sound_off.png"),
			CCSprite::createWithSpriteFrameName("sound_off.png"),
			this,NULL);

		soundOff = CCMenuItemSprite::create(
			CCSprite::createWithSpriteFrameName("sound_on.png"),
			CCSprite::createWithSpriteFrameName("sound_on.png"),
			this,NULL);

		CCMenuItemToggle* toggle = CCMenuItemToggle::createWithTarget(this,menu_selector(StartScene::btnCallback),soundOff,soundOn,NULL);
		toggle->setTag(4);

		sound->addChild(toggle);

		//SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("game.ogg"));
		CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("game.ogg",true);

		success = true;
	}while(false);
	return success; 
}