哇!板球 源碼分析二

遊戲主頁面佈局


創建屏下Score標籤

pLabel = CCLabelTTF::create("Score", "Arial", TITLE_FONT_SIZE);	 //分數標籤
    //設置標籤字體的顏色
    pLabel->setColor (ccc3(0, 0, 0));
    //設置文本標籤的位置
    pLabel->setPosition
    (
    	ccp
    	(
			SCORE_X,					//X座標
			SCORE_Y	                    //Y座標
         )
    );
    //將文本標籤添加到佈景中
    this->addChild(pLabel, TOP_LEVEL);

創建屏下機會左邊數字爲0標籤

overLabel = CCLabelTTF::create("0", "Arial", TITLE_FONT_SIZE);
	//設置標籤字體的顏色
	overLabel->setColor (ccc3(255, 0, 0));
	//設置文本標籤的位置
	overLabel->setPosition
	(
		ccp
		(
			OVERLABEL_X,				//X座標
			SCORE_Y	                    //Y座標
		 )
	);
	//將文本標籤添加到佈景中
	this->addChild(overLabel, TOP_LEVEL);

創建主頁面背景

    CCSprite* pSprite = CCSprite::create("pic/background.png");	
    //設置精靈對象的位置
    pSprite->setPosition(ccp(origin.x, origin.y));
    pSprite->setAnchorPoint(ccp(0, 0));//默認錨點爲0.5,0.5
    //將背景精靈添加到佈景中
    this->addChild(pSprite, BACKGROUND_LEVEL_WYF);

創建左上角暫停鍵

	CCMenuItemImage *pauseMenuItem = CCMenuItemImage::create 
	(
	  "pic/pause.png",     //平時的圖片
	  "pic/pause1.png",   //選中時的圖片
	  this,
	  menu_selector(BanQiuLayer::pauseCallBack)//點擊時執行的回調方法
	);
	//設置暫停菜單項的位置
	pauseMenuItem->setPosition(ccp(150,450));

	//創建菜單對象
	CCMenu* pauseMenu = CCMenu::create(pauseMenuItem, NULL);
	//設置菜單位置
	pauseMenu->setPosition(CCPointZero);
	//將菜單添加到佈景中
	this->addChild(pauseMenu,DASHBOARD_LEVEL_WYF);

創建右側6號網

	CCSprite* sixSprite = CCSprite::create("pic/six.png");
	//設置精靈對象的位置
	sixSprite->setPosition(ccp(GRID_SIX_X, GRID_SIX_Y));
	sixSprite->setAnchorPoint(ccp(1, 0.5));//默認錨點爲0.5,0.5
	//將背景精靈添加到佈景中
	this->addChild(sixSprite, DASHBOARD_LEVEL_WYF);
創建上面的1、2號網

	CCSprite* oneTSprite = CCSprite::create("pic/one.png");
	//設置精靈對象的位置
	oneTSprite->setPosition(ccp(GRID_ONE_TOP_X, GRID_ONE_TOP_Y));
	oneTSprite->setAnchorPoint(ccp(1, 1));//默認錨點爲0.5,0.5
	//將背景精靈添加到佈景中
	this->addChild(oneTSprite, DASHBOARD_LEVEL_WYF);
	CCSprite* twoTSprite = CCSprite::create("pic/two.png");
	//設置精靈對象的位置
	twoTSprite->setPosition(ccp(GRID_TWO_TOP_X, GRID_TWO_TOP_Y));
	twoTSprite->setAnchorPoint(ccp(1, 1));//默認錨點爲0.5,0.5
	//將背景精靈添加到佈景中
	this->addChild(twoTSprite, DASHBOARD_LEVEL_WYF);

創建下面的1、2號網

	CCSprite* oneBSprite = CCSprite::create("pic/one.png");
	//設置精靈對象的位置
	oneBSprite->setPosition(ccp(GRID_ONE_BOTTOM_X,GRID_ONE_BOTTOM_Y));
	oneBSprite->setAnchorPoint(ccp(1, 0));//默認錨點爲0.5,0.5
	//將背景精靈添加到佈景中
	this->addChild(oneBSprite, DASHBOARD_LEVEL_WYF);
	CCSprite* twoBSprite = CCSprite::create("pic/two.png");
	//設置精靈對象的位置
	twoBSprite->setPosition(ccp(GRID_TWO_BOTTOM_X,GRID_TWO_BOTTOM_Y));
	twoBSprite->setAnchorPoint(ccp(1, 0));//默認錨點爲0.5,0.5
	//將背景精靈添加到佈景中
	this->addChild(twoBSprite, DASHBOARD_LEVEL_WYF);
創建主角球拍

	CCSprite* sachinSprite = CCSprite::create("pic/sachin.png");
	//設置精靈對象的位置
	sachinSprite->setPosition(ccp(PLAYER_X,PLAYER_Y));
	sachinSprite->setAnchorPoint(ccp(0, 0));//默認錨點爲0.5,0.5
	//將背景精靈添加到佈景中
	this->addChild(sachinSprite, GAME_LEVEL_WYF);
創建最底部的圖片, 充當儀表盤
CCSprite* tickerSprite = CCSprite::create("pic/ticker.png");
	//設置精靈對象的位置
	tickerSprite->setPosition(ccp(BOARD_X,BOARD_Y));
	tickerSprite->setAnchorPoint(ccp(0, 0));//默認錨點爲0.5,0.5
	//將儀表盤精靈添加到佈景中
	this->addChild(tickerSprite, DASHBOARD_LEVEL_WYF);

定義2個定時器,用來檢測碰撞和置道具出場標誌

    this->schedule(schedule_selector(BanQiuLayer::upDate),0.01f);//碰撞檢測
    this->schedule(schedule_selector(BanQiuLayer::setOutPropFlag),5);//5秒道具出場


創建屏幕其他文本標籤

機會右側文本標籤

CCLabelTTF *over ;
	char o[5];
	snprintf(o, 5, "%d",6-guanka);
	std::string overStr = "/ ";
	overStr=overStr+o;
	over = CCLabelTTF::create(overStr.c_str(), "Arial", TITLE_FONT_SIZE);
	//設置標籤字體的顏色
	over->setColor (ccc3(250, 0, 0));
	//設置文本標籤的位置
	over->setPosition
	(
		ccp
		(
			OVERLABEL_X+40,				//X座標
			SCORE_Y	                    //Y座標
		 )
	);
	//將文本標籤添加到佈景中
	this->addChild(over, TOP_LEVEL);

創建目標分數標籤,每一關乘以50

CCLabelTTF *targetLabel ;
	char s[5];
	snprintf(s, 5, "%d",guanka*50);
	targetLabel = CCLabelTTF::create(s, "Arial", TITLE_FONT_SIZE);
	//設置標籤字體的顏色
	targetLabel->setColor (ccc3(250, 0, 0));
	//設置文本標籤的位置
	targetLabel->setPosition
	(
		ccp
		(
			TARGETLABEL_X,				//X座標
			SCORE_Y	                    //Y座標
		 )
	);
	//將文本標籤添加到佈景中
	this->addChild(targetLabel, TOP_LEVEL);

創建關卡標籤

	CCLabelTTF *gk ;
	char g[5];
	snprintf(g, 5, "%d",guanka);
	gk = CCLabelTTF::create(g, "Arial", TITLE_FONT_SIZE);
	//設置標籤字體的顏色
	gk->setColor (ccc3(250, 0, 0));
	//設置文本標籤的位置
	gk->setPosition(ccp(720,SCORE_Y));
	this->addChild(gk, TOP_LEVEL);


設置守門員出場的頻率, 關卡數越高出場頻率越快

this->schedule(schedule_selector(BanQiuLayer::setOutFielderFlag),(6-guanka)/2.0f);






 





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章