Пример #1
0
void TetrisGameLayer::startGame(){
    
    G_current_HandleType = new LongBlock_Type();
    G_current_HandleType->init();
    
    CCSize size = CCDirector::sharedDirector()->getWinSize();
    //控制按钮//
    CCMenuItemImage * left = CCMenuItemImage::create("left.png", "left.png");
    left->setTarget(this, menu_selector(TetrisGameLayer::leftButtonPressed));
    left->setScale(0.5);
    CCMenuItemImage * right = CCMenuItemImage::create("right.png", "right.png");
    right->setTarget(this, menu_selector(TetrisGameLayer::rightButtonPressed));
    left->setAnchorPoint(ccp(0, 0));
    right->setAnchorPoint(ccp(0, 0));
    right->setScale(0.5);
    right->setPosition(ccp(size.width/2+size.width/4, 0));
    
    CCMenuItemImage * down = CCMenuItemImage::create("down.png", "down.png");
    down->setTarget(this, menu_selector(TetrisGameLayer::downButtonPressed));
    down->setAnchorPoint(ccp(0,0));
    down->setScale(0.5);
    down->setPosition(ccp(size.width/2 -100,0));
    down->setOpacity(0.7*255);
    
    CCMenu * menu = CCMenu::create(left,down,right, NULL);
    menu->setAnchorPoint(ccp(0, 0));
    menu->setPosition(ccp(0, 0));
    this->addChild(menu);
}
Пример #2
0
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());
}
Пример #3
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);
}
Пример #4
0
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;
}
Пример #6
0
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;
}
Пример #7
0
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 );
}
Пример #8
0
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;
}
Пример #9
0
// 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;
}
Пример #10
0
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;
}
Пример #11
0
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);
}
Пример #12
0
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;
}
Пример #13
0
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;
}
Пример #14
0
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 );
}
Пример #15
0
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);
}
Пример #18
0
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;
}
Пример #20
0
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);

}
Пример #21
0
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;
}
Пример #22
0
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;
}
Пример #23
0
/*
 *  初始化
 */
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;
}
Пример #24
0
/**
*	初始化方法,继承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 ;
}
Пример #25
0
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    bool bRet = false;
    do 
    {
        //////////////////////////////////////////////////////////////////////////
        // super init first
        //////////////////////////////////////////////////////////////////////////

        CC_BREAK_IF(! CCLayer::init());

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

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

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

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



		 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;
}
Пример #26
0
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;
}
Пример #27
0
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);
}
Пример #28
0
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;
}
Пример #29
0
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;
}
Пример #30
0
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;
}