闲来无事,白白给大家分享一下一种菜单按钮的制作方法
1、CCMenuItemImage + CCMenu
这是图片按钮菜单项,通过指定图片资源来创建菜单项,有点击效果哦,我们举个例子先
//创建图片按钮
CCMenuItemImage* pHome = CCMenuItemImage::create("home1.png", "home2.png", this, menu_selector(HelloWorld::menuHome));
pHome->setPosition(ccp(40, 40));
CCMenu* pMenu = CCMenu::create(pHome, NULL);
pMenu->setPosition(CCPointZero);
this->addChild(pMenu);
2、 CCMenuItemLabel + CCLableITTF + CCMenu
文本菜按钮单项,通过指定文本标签,这个点击会有放大效果哦。先创建一个文本,然后绑在CCMenuItemLabel 上面就可以做按钮了,一CCLable为例,去看例子喽
CCLabelTTF* pLabel = CCLabelTTF::create("button", "Arial", 30);//参数分别是:按钮要显示的文字,字体,字号
CCMenuItemLabel* pBtn = CCMenuItemLabel::create(pLabel) ;
pBtn->setPosition(ccp(100, 100));
CCMenu* pMenu = CCMenu::create(pBtn, NULL);
pMenu->setPosition(CCPointZero);
this->addChild(pMenu);
3、CCMenuItemImage /CCMenuItemFont + CCMenuItemToggle + CCMenu
这种方法创建的图片按钮在点击之后不会有显示效果切换,例如现在显示start,点击之后会显示stop,不在变化,若再次点击,才会变回start。
CCMenuItemFont* start = CCMenuItemFont::create("start");
CCMenuItemFont* stop = CCMenuItemFont::create("stop");
CCMenuItemToggle* toggle = CCMenuItemToggle::createWithTarget(this, menu_selector(MyLayer::show), start, stop, NULL);
toggle->setPosition(ccp(100, 100));
CCMenu* menu = CCMenu::create(toggle,NULL);
menu->setPosition(CCPointZero);
addChild(menu);
ok,几种按钮创建完毕,最后再啰嗦一点,如果当前创建了很多按钮的话,可以最后一起添加。
CCMenu* pMenu = CCMenu::create(pHome, pExit, pPause, pMusic, pSaveScore, NULL);
pMenu->setPosition(CCPointZero);
this->addChild(pMenu, 2);