cocos2d menu菜单类

时间:2021-10-28 16:33:38
// 在init这个函数当中做一些初始化的事情
bool HelloWorld::init()
{
//////////////////////////////
// 先构造父级对象
if ( !CCLayer::init() )
{
return false;
} CCSize size=CCDirector::sharedDirector()->getWinSize(); //创建一个label以后就不能再设置位置,有可能会超出屏幕,
//这个label不能添加到this当中
CCLabelTTF *label1=CCLabelTTF::create("lalal","consola",);
label1->setColor(ccc3(,,));
CCMenuItemLabel* menuitemLabel=CCMenuItemLabel::create(label1,this,menu_selector(HelloWorld::menuCallback));
menuitemLabel->setPosition(ccp(size.width*0.5,size.height*0.9)); CCMenuItemFont* menuitemFont=CCMenuItemFont::create("lala",this,menu_selector(HelloWorld::menuCallback));
menuitemFont->setPosition(ccp(size.width*0.5,size.height*0.7)); //如果是一个重复使用的图片,最好还是创建成为缓存帧,这样可以减少渲染的次数。
//但是如果是一个两张图片,如果创建成为缓存帧的话,占了内存,导致游戏效率下降。
CCSprite* sprite1=CCSprite::create("1.png");
sprite1->setScale(0.2);
CCSprite* sprite2=CCSprite::create("2.png");
sprite2->setScale(0.2);
CCMenuItemSprite *menuitemSprite=CCMenuItemSprite::create(sprite1,sprite2,this,menu_selector(HelloWorld::menuCallback));
menuitemSprite->setPosition(ccp(size.width*0.5,size.height*0.5)); CCMenuItemToggle* menuitemToggle=CCMenuItemToggle::createWithTarget(this,menu_selector(HelloWorld::menuCallback),CCMenuItemFont::create("ON"),CCMenuItemFont::create("OFF"),NULL);
menuitemToggle->setPosition(ccp(size.width*0.5,size.height*0.3)); CCMenu* menu=CCMenu::create(menuitemLabel,menuitemFont,menuitemSprite,menuitemToggle,NULL);
menu->setPosition(CCPointZero);
this->addChild(menu); return true;
} void HelloWorld::menuCallback(CCObject* pSender)
{
CCLOG("lalala");
}