zoukankan      html  css  js  c++  java
  • cocos2d-x的初步学习八

    这篇文章中,我们讲下cocos2dx中的菜单,菜单在游戏中非常常见,看下cocos2dx中菜单的结构:

    OK,下面我们直接上代码:

     CCLabelTTF *menuTTF=CCLabelTTF::create("菜单一", "ArialRoundedMTBold", 50);
        
        CCMenuItemLabel *labelItem=CCMenuItemLabel::create(menuTTF, this, menu_selector(HelloWorld::menuItemCallBack));
        
        labelItem->setPosition(ccp(200, 600));
        
        //继承自CCMenuItemLabel
        CCMenuItemFont *fontItem=CCMenuItemFont::create("菜单二", this, menu_selector(HelloWorld::menuItemCallBack));
        
        fontItem->setPosition(ccp(200, 500));
        
        //继承自CCMenuItemLabel
        CCMenuItemAtlasFont *atlasFontItem=CCMenuItemAtlasFont::create("33333", "small_blue_number_level-hd.png", 16, 20, '0', this,  menu_selector(HelloWorld::menuItemCallBack));
        
        atlasFontItem->setScale(2.0);
        atlasFontItem->setPosition(ccp(200, 400));
    
        
        CCSprite *onSprite=CCSprite::create("switchon.png");
        CCSprite *offSprite=CCSprite::create("switchoff.png");
    
        //选中未选中状态,还有一个函数里多了一个参数,disabled表示禁用状态
        CCMenuItemSprite *spriteItem=CCMenuItemSprite::create(onSprite, offSprite, this, menu_selector(HelloWorld::menuItemCallBack));
        
        spriteItem->setPosition(ccp(200, 300));
        
        
        //CCMenuItemImage继承自CCMenuItemSprite
        CCMenuItemImage *imageItem = CCMenuItemImage::create(
                                                "CloseNormal.png",
                                                "CloseSelected.png",
                                                this,
                                                menu_selector(HelloWorld::menuItemCallBack) );
        imageItem->setPosition( ccp(200,200));
        
        //开关,可以作为开关菜单样式
        CCMenuItemToggle *toggleItem=CCMenuItemToggle::createWithTarget(this, menu_selector(HelloWorld::menuItemCallBack), CCMenuItemFont::create("无始"),CCMenuItemFont::create("狠人"),NULL);
        
        toggleItem->setPosition(ccp(200, 100));
        
        CCMenu* pMenu = CCMenu::create(labelItem,fontItem,atlasFontItem,spriteItem,imageItem
                                       ,toggleItem, NULL);
        pMenu->setPosition( CCPointZero );
        this->addChild(pMenu, 1);
    

    OK,就这么简单,我们看下效果:

  • 相关阅读:
    【[CQOI2015]选数】
    杜教筛
    【[CQOI2009]跳舞】
    【简单的数学题】
    【[SDOI2013]泉】
    【[AHOI2013]差异】
    【[HEOI2016/TJOI2016]序列】
    【[SDOI2008]Sandy的卡片】
    linux系统编程之信号(一)
    linux系统编程之进程(五)
  • 原文地址:https://www.cnblogs.com/henrendadi/p/3158350.html
Copyright © 2011-2022 走看看