// 在init这个函数当中做一些初始化的事情 bool HelloWorld::init() { ////////////////////////////// // 先构造父级对象 if ( !CCLayer::init() ) { return false; } CCSize size=CCDirector::sharedDirector()->getWinSize(); //创建一个label以后就不能再设置位置,有可能会超出屏幕, //这个label不能添加到this当中 CCLabelTTF *label1=CCLabelTTF::create("lalal","consola",25); label1->setColor(ccc3(255,255,0)); 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"); }