加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos3.x 扫雷04 菜单项的添加

发布时间:2020-12-14 19:31:58 所属栏目:百科 来源:网络整理
导读:扫雷 04 菜单项的添加 添加的菜单并放置在 _bgMenu 上,这里是为了方便在以后添加计分或者计时 label 的时候可以直接加在 _bgmenu 上或者直接移位。 四个菜单项添加与回调函数代码 1: ////////////////////////////////////////////////////////////////////

扫雷04 菜单项的添加

添加的菜单并放置在 _bgMenu上,这里是为了方便在以后添加计分或者计时label的时候可以直接加在_bgmenu上或者直接移位。

四个菜单项添加与回调函数代码

 1: ////////////////////////////////////////////////////////////////////////
 2: // 添加菜单项
 3:
 4: void GameScene::addMenu()
 5: {
 6:     //创建四个菜单项
 7:     _dig = CCMenuItemImage::create("dig_button.png",
 8:                                    "digs_button.png",monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: white"> 9:                                    "dign_button.png",monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: #f4f4f4"> 10:                                    this,monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: white"> 11:                                    menu_selector(GameScene::MenuCallDig));
 12:     _flag = CCMenuItemImage::create("flag_button.png",monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: white"> 13:                                     "flags_button.png",monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: #f4f4f4"> 14:                                     "flagn_button.png",monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: white"> 15:                                     this,monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: #f4f4f4"> 16:                                     menu_selector(GameScene::MenuCallFlag));
 17:     _exitGame = CCMenuItemImage::create("mainmenu2.png",monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: #f4f4f4"> 18:                                         "mainmenu2_s.png",monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: white"> 19:                                         this,monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: #f4f4f4"> 20:                                         menu_selector(GameScene::MenuCallExit));
 21:     _restart = CCMenuItemImage::create("restart.png",monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: #f4f4f4"> 22:                                        "restarts.png",monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: white"> 23:                                        this,monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: #f4f4f4"> 24:                                        menu_selector(GameScene::MenuCallRestart));
 25:     //用四个菜单项初始化四个菜单
 26:     Menu *menu = Menu::create(_dig,_flag,_exitGame,_restart,NULL);
 27:     //菜单项添加到_bgmenu上去会比较好还是直接添加到当前对象上,这个问题以后再说
 28:     _bgmenu->addChild(menu);
 29:     menu->setPosition(Vec2::ZERO);
 30:
 31:     float lowWidth = _bgmenu->getContentSize().width;
 32:     float lowHeight = _bgmenu->getContentSize().height;
 33:     //设置菜单项的大小,宽度适应为窗口宽度的1/3
 34:     _dig->setScale(lowWidth / 3.0f / _dig->getContentSize().width);
 35:     _flag->setScale(lowWidth / 3.0f / _dig->getContentSize().width);
 36:     _exitGame->setScale(lowWidth / 3.0f / _dig->getContentSize().width);
 37:     _restart->setScale(lowWidth / 3.0f / _dig->getContentSize().width);
 38:     //设置锚点,中心点
 39:     _dig->setAnchorPoint(Vec2(.5f,.5f));
 40:     _flag->setAnchorPoint(Vec2(.5f,monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: white"> 41:     _exitGame->setAnchorPoint(Vec2(.5f,monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: #f4f4f4"> 42:     _restart->setAnchorPoint(Vec2(.5f,monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: white"> 43:     //设置放置的位置
 44:
 45:     _dig->setPosition(Vec2(lowWidth * 0.25f,(lowHeight)* 0.75f));
 46:     _flag->setPosition(Vec2(lowWidth * 0.75f,monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: white"> 47:     _exitGame->setPosition(Vec2(lowWidth * 0.75f,(lowHeight)* 0.25f));
 48:     _restart->setPosition(Vec2(lowWidth * 0.25f,monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 16pt; padding-right: 0px; background-color: white"> 49:     _dig->setEnabled(false);
 50:
 51: }
 52:
 53: //////////////////////////////////////////////////////////////////////////
 54: // Menu Call Back
 55: void GameScene::MenuCallDig(Ref*)
 56: {
 57:     _dig->setEnabled(false);
 58:     _flag->setEnabled(true);
 59:     _toFlag = false;
 60: }
 61:
 62: void GameScene::MenuCallFlag(Ref*)
 63: {
 64:     _dig->setEnabled(true);
 65:     _flag->setEnabled(false);
 66:     _toFlag = true;
 67: }
 68:
 69: void GameScene::MenuCallRestart(Ref*)
 70: {
 71:     Director::getInstance()->replaceScene(GameScene::scene(_customs));
 72: }
 73:
 74: void GameScene::MenuCallExit(Ref*)
 75: {
 76:     //Director::getInstance()->replaceScene(SelectCustoms::scene());
 77:     //CCDirector::sharedDirector()->end();
 78: }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读