Cocos2dx之文字選單和圖片選單的使用

君墨痕發表於2014-03-05

選單的顯示有兩種,一種是文字,另一種是圖片,不過基本都是用圖片的方式來顯示,使用者體驗比較好


上例項

//建立文字,引數(顯示內容,字型,大小)
	CCLabelTTF* stopLabel = CCLabelTTF::create("Stop", "arial", 30);
	stopLabel->setColor(ccc3(0, 255, 0));
	CCLabelTTF* startLabel = CCLabelTTF::create("Start", "arial", 30);
	startLabel->setColor(ccc3(0, 255, 0));

	//建立文字選單選項,引數(文字label,目標類,要執行的函式)
	CCMenuItemLabel* mLabel1 = CCMenuItemLabel::create(stopLabel, this, menu_selector(ClipScene::stopCreate));
	mLabel1->setPosition(ccp(width / 2, 250));
	CCMenuItemLabel* mLabel2 = CCMenuItemLabel::create(startLabel, this, menu_selector(ClipScene::startCreate));
	mLabel2->setPosition(ccp(width / 2, 50));
	//將選項新增進選單,引數(n個MneuItem,NULL)
	CCMenu* m1 = CCMenu::create(mLabel1, mLabel2, NULL);
	m1->setPosition(ccp(0, 0));
	this->addChild(m1);

	//建立圖片選單選項,引數(未點時的圖片,點選時的圖片,目標類,要執行的函式)
	CCMenuItemImage* mImg1 = CCMenuItemImage::create("pause1.png", "pause.png", this, menu_selector(ClipScene::stopCreate));
	mImg1->setPosition(ccp(width / 2 + 100, 250));
	CCMenuItemImage* mImg2 = CCMenuItemImage::create("go.png", "go1.png", this, menu_selector(ClipScene::startCreate));
	mImg2->setPosition(ccp(width / 2 + 100, 50));
	//將選項新增進選單,引數(n個MneuItem,NULL)
	CCMenu* m2 = CCMenu::create(mImg1, mImg2, NULL);
	m2->setPosition(ccp(0, 0));
	this->addChild(m2);

這裡的回掉函式ClipScene::stopCreate格式如下

void ClipScene::stopCreate(CCObject* menuItem)
{
	this->unschedule(schedule_selector(ClipScene::createSprite));
}

void ClipScene::startCreate(CCObject* menuItem)
{
	this->schedule(schedule_selector(ClipScene::createSprite),1);
}

點選前:



點選後的文字放大,圖片換成另一種圖片


相關文章