遊戲主頁面佈局
創建屏下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);