zoukankan      html  css  js  c++  java
  • cocos2d-x 菜单

    菜单在游戏中是非常常见的控件之一。下面来分析下在cocos2dx中有那些菜单。

    一共有六种菜单。

    CCMenu在创建时需要使用CCMenuItem来创建。

    CCMenu继承自CCLayer,是一个菜单管理选择画面层,该画面以Menu对象为集合类,由MenuItem类实例组成各种按钮。CCMenu类提供的方法主要用来按横向、竖向或者多行列排序展示MenueItem的类实例。同时,CCMenu只支持CCMenuItem节点作为它的子节点。

    注意 CCMenuItem是基础类,不能直接用来创建菜单,它的作用主要是设置按钮状态以及处理回调方法。需要使用CCMenuItem的子类来创建定制菜单项。

    //----CCMenuItemFont
        CCMenuItemFont*  itemFont = CCMenuItemFont::create("开始游戏", this,menu_selector(HelloWorld::menuFun));
        itemFont->setPosition(ccp(-120,80));
        
        //----CCMenuItemImage
        CCMenuItemImage* imageItem = CCMenuItemImage::create("CloseNormal.png","CLoseSelected.png", this,menu_selector(HelloWorld::menuFun));
        imageItem->setPosition(ccp(-20,80));
             
        //----CCMenuItemLabel
        CCLabelTTF * lableTTF = CCLabelTTF::create("返回主菜单", "Helvetica", 20); 
        CCMenuItemLabel * labelItem =CCMenuItemLabel::create(lableTTF,this,menu_selector(HelloWorld::menuFun));
        labelItem->setPosition(ccp(80,80));

        //----CCMenuItemSprite
        CCSprite* spNor = CCSprite::create("Icon.png");
        spNor->setColor(ccc3(255, 255, 0 ));
        CCSprite* spSelected =CCSprite::create("Icon.png");
        CCMenuItemSprite* spriteItem = CCMenuItemSprite::create(spNor,spSelected, this,menu_selector(HelloWorld::menuFun));
        spriteItem->setPosition(ccp(-80,-20));
        
        
        //----CCMenuItemToggle
        CCMenuItemFont * fontItem1 = CCMenuItemFont::create("音乐开");
        CCMenuItemFont * fontItem2 = CCMenuItemFont::create("音乐关");
        CCMenuItemToggle* toggleItem = CCMenuItemToggle::createWithTarget(this,menu_selector(HelloWorld::menuFun), fontItem1,fontItem2,NULL);
        toggleItem->setPosition(ccp(20,-20));
        

    CCMenuItemAtlasFont

    CCMenuItemAtlasFont直接继承自CCMenuItemLabel,将一个CCLabelAtlas转变为一个菜单项,增加选中时的文字放大效果


        CCMenu* menu = CCMenu::create(itemFont,imageItem,labelItem,spriteItem,toggleItem,NULL);
        addChild(menu);

  • 相关阅读:
    栈:删除最外层的括号 (Leetcode 1021 / 155 / 1172 / 剑指31 / 面试 03.03)
    JDBC: Druid连接池
    JDBC: C3P0
    JDBC: C3P0
    JDBC: C3P0连接池
    JDBC: DBCP连接池
    JDBC: 数据库连接池
    JDBC: JDBC 控制事务
    JDBC: 预处理对象
    wpf 键盘快捷键响应
  • 原文地址:https://www.cnblogs.com/ADaii/p/3426259.html
Copyright © 2011-2022 走看看