cocos2d-x 5种常用CCMenuItem
来源:互联网 发布:flashas3程序员招聘 编辑:程序博客网 时间:2024/05/18 03:10
bool HelloWorld::init(){ if ( !CCLayer::init() ) { return false; } //字体菜单项 参数1:显示的文字 参数2:触发的目标对象 参数3:触发的目标函数 CCMenuItemFont* itemFont = CCMenuItemFont::create("开始游戏", this, menu_selector(HelloWorld::menuFun)); itemFont->setPosition(ccp(80, 200)); //图片落单项 参数1:正常显示的图片 参数2:用户选择后显示的图片 参数3:触发的目标对象 参数4;触发的目标函数 CCMenuItemImage* itemImage = CCMenuItemImage::create("CloseNormal.png", "CloseSelected.png", this, menu_selector(HelloWorld::menuFun)); itemImage->setPosition(ccp(80 , 120)); //文本落单项 CCLabelTTF* label = CCLabelTTF::create("返回主菜单", "Helvetica", 20); CCMenuItemLabel* itemLabel = CCMenuItemLabel::create(label, this, menu_selector(HelloWorld::menuFun)); itemLabel->setPosition(ccp(240,160)); //精灵菜单项 精灵不需要设置坐标,只需要对CCMenuItemSprite设置坐标即可 CCSprite* spNormal = CCSprite::create("Icon.png"); spNormal->setColor(ccc3(255, 255, 0)); CCSprite* spSelected = CCSprite::create("Icon.png"); CCMenuItemSprite* itemSprite = CCMenuItemSprite::create(spNormal, spSelected, this, menu_selector(HelloWorld::menuFun)); itemSprite->setPosition(ccp(400, 200)); //开关菜单项 CCMenuItemFont* font1 = CCMenuItemFont::create("音乐开"); CCMenuItemFont* font2 = CCMenuItemFont::create("音乐关"); CCMenuItemToggle* itemToggle = CCMenuItemToggle::createWithTarget(this, menu_selector(HelloWorld::menuFun), font1, font2, NULL); itemToggle->setPosition(ccp(400, 120)); CCMenu* menu = CCMenu::create(itemFont, itemImage, itemLabel, itemSprite, itemToggle, NULL); //设置菜单坐标为原点坐标 menu->setPosition(CCPointZero); addChild(menu); return true;}//自定义的函数,供CCMenuItem进行调用void HelloWorld::menuFun(){ }
混淆的地方:是对menu设置坐标,而不是设置锚点 setAnchorPoint();