实训九(游戏退出按钮的实现)
主要是涉及引擎中menu的使用
常見的幾種使用方法
1、可變換圖標(biāo)
auto closeItem = MenuItemImage::create(
?????????????????????????????????????????? "CloseNormal.png",
?????????????????????????????????????????? "CloseSelected.png",
?????????????????????????????????????????? CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));
???
?closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2 ,
??????????????????????????????? origin.y + closeItem->getContentSize().height/2));
??? // create menu, it's an autorelease object
??? auto menu = Menu::create(closeItem, NULL);
??? menu->setPosition(Vec2::ZERO);
??? this->addChild(menu, 1);
但是,請注意this->addChild(menu, 1);? 當(dāng)項目中涉及到用數(shù)字區(qū)分或者記錄位置時,如果初始定義了1的具體含義,這里就不能用了
2、文本菜按鈕單項,通過指定文本標(biāo)簽,這個點(diǎn)擊會有放大效果。先創(chuàng)建一個文本,然后綁在CCMenuItemLabel
上面就可以做按鈕了
CCLabelTTF* pLabel = CCLabelTTF::create("button", "Arial", 30);//參數(shù)分別是:按鈕要顯示的文字,字體,字號
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
這種方法創(chuàng)建的圖片按鈕在點(diǎn)擊之后不會有顯示效果切換,例如現(xiàn)在顯示start,點(diǎn)擊之后會顯示stop,不在變化,若再次點(diǎn)擊,才會變回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);?
轉(zhuǎn)載于:https://www.cnblogs.com/revenge/p/5891214.html
總結(jié)
以上是生活随笔為你收集整理的实训九(游戏退出按钮的实现)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 闭包实现迭代器
- 下一篇: 作为网站管理,你的性能监测工作如何开展?