from://http://blog.linguofeng.com/archive/2012/11/14/cocos2d-x-CCMenu.html

Cocos2d-x之CCMenu

Cocos2dx的菜单


一、CCMenuItemSprite 精灵按钮

CCSprite* normal =CCSprite::spriteWithFile("默认状态的图片");CCSprite* selected =CCSprite::spriteWithFile("选中状态的图片");CCSprite* disabled =CCSprite::spriteWithFile("禁用状态的图片");CCMenuItemSprite* item =CCMenuItemSprite::itemFromNormalSprite(normal, selected, disabled,this, menu_selector(Test::callback));// itemFromNormalSprite(normal, selected, disabled);// itemFromNormalSprite(normal, selected, this, menu_selector(Test::callback));// itemFromNormalSprite(normal, selected);
item->setIsEnabled(false);// 是否可用,默认true

二、CCMenuItemImage 图片按钮

CCMenuItemImage* item =CCMenuItemImage::itemFromNormalImage("默认状态","选中状态",this, menu_selector(Test::callback));// itemFromNormalImage("默认状态", "选中状态");// itemFromNormalImage("默认", "选中", "禁用", this, menu_selector(Test::callback));// itemFromNormalImage("默认", "选中", "禁用");

三、CCMenuItemLabel label按钮

// 支持CCLabelAtlas、CCLabelBMFontCCLabelAtlas* label =CCLabelAtlas::labelWithString("123","nums.png",24,30,'');CCMenuItemLabel* item =CCMenuItemLabel::itemWithLabel(label,this, menu_selector(Test::callback));// itemWithLabel(label);
item->setDisabledColor(ccc3(255,255,255));
item->setColor(ccc3(0,0,0));

四、CCMenuItemFont 字体按钮

CCMenuItemFont* item =CCMenuItemFont::itemFromString("文本",this, menu_selector(Test::callback));// itemFromString("文本");
item->setFontSizeObj(24);
item->setFontName("Monaco");// 全局字体与大小CCMenuItemFont::setFontSize("全局字体大小");CCMenuItemFont::setFontName("全局字体名称");

五、CCMenuItemToggle 开关式按钮

CCMenuItemToggle* item =CCMenuItemToggle::itemWithTarget(this,
menu_selector(Test::callback),CCMenuItemFont::itemFromString("On"),CCMenuItemFont::itemFromString("Off"),
NULL);
item->getSubItems()->addObject(CCMenuItemFont::itemFromString("Other"));
item->setSelectedIndex(2);

六、CCMenu

CCMenu* menu =CCMenu::menuWithItems(item1, item2, NULL);
menu->alignItemsHorizontally();// 垂直对齐
menu->alignItemsVertically();// 水平对象
menu->alignItemsInColumns(2,1, NULL);// 两行,两列,一列

七、callback

Test::callback(CCObject* sender){}

Cocos2d-x之CCMenu的更多相关文章

  1. cocos2d在CCScrollView中嵌套CCMenu列表

    在cocos2d中,CCMenuItem经常被当做按钮使用.在有许多条目需要逐行显示,并且点击每个条目都触发对应的事件的需求下,最容易想到的是用CCScrollView嵌套CCMenu. 但默认情况下 ...

  2. cocos2D(八)---- CCMenu && CCMenuItem

    些菜单项让用户開始游戏.暂停\继续游戏.打开\关闭音乐或者是返回到上一个界面,比方以下两张图中用红色线框标记的菜单项     我们能够使用CCMenu和CCMenuItem实现上述的菜单功能,CCMe ...

  3. 学生信息管理系统(cocos2d引擎)——数据结构课程设计

    老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite*  spBG = CCSprite::create("&qu ...

  4. cocos2d学习笔记

    doxygen工具 生成cocos2d的api文档 位图字体编辑工具 Glyph Designer http://www.71squared.com/glyphdesigner  收费的 CCLabl ...

  5. cocos2d ccmenulabel

    // // TestMenu.hpp // mario // // Created by sun on 15/12/22. // // #ifndef TestMenu_hpp #define Tes ...

  6. cocos2d ccitemimage

    #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" class H ...

  7. Cocos2d-x学习笔记(10)(CCMenu菜单)

    1.CCMenu创建方式 CCMenu* menu = CCMenu::create(cocos2d::CCMenuItem* item,--)參数为CCMenuItem菜单项的对象可变參数列表 2. ...

  8. cocos2d的框架思路

    这是我第一次写cocos的框架思路哈,虽然只是写完了一个程序,按理来说应该再多写一些,多积累一些经验了再来写这个框架的构成,但是我觉得还是把我这次写代码的所有想法先记下来哈,等到以后继续写cocos的 ...

  9. Cocos2d—X游戏开发之CCTableView详解(十一)

    本来很早就想写关于CCTableView的文章,但是在基本功能实现之后呢,项目需求增加导致对这个控件的研究必须更加深入一点. 好的,现在开始介绍一下这个控件,在Cocos2d—X引擎中,这是一个仿制i ...

  10. 使用cocos2d 2.1制作一条河游戏(4): 主要的游戏逻辑BaseLayer设计

    前段时间一直忙着.没有时间更新博客.今天,仍然需要一段时间才能实现对游戏的一小部分,最后打动他. BaseLayer.h: #import <GameKit/GameKit.h> #imp ...

随机推荐

  1. SqlServer自定义函数Function中调用with as

    SET QUOTED_IDENTIFIER ON 标识符可以由双引号分隔,而文字必须由单引号分隔 SET QUOTED_IDENTIFIER OFF 标识符不可加引号,且必须遵守所有 Transact ...

  2. 解决连不上dl.google.com和dl-ssl.google.com

    http://ping.chinaz.com/ 开发android遇到的最大问题就是Google被墙了,而我们的sdk又需要通过dl.google.com和dl-ssl.google.com去下载一些 ...

  3. C语言:指针实现交换两个变量的值

    用指针交换两个变量的值(10分) 题目内容: 用指针交换两个变量的值 主函数参考: int main( ) { int a,b; scanf("%d%d",&a,& ...

  4. 2017 JUST Programming Contest 2.0 题解

    [题目链接] A - On The Way to Lucky Plaza 首先,$n>m$或$k>m$或$k>n$就无解. 设$p = \frac{A}{B}$,$ans = C_{ ...

  5. React Native Android启动白屏的一种解决方案上

    我们用RN去开发Android应用的时候,我们会发现一个很明显的问题,这个问题就是启动时每次都会有1~3秒的白屏时间,直到项目加载出来 为什么会出现这个问题? RN开发的应用在启动时,首先会将js b ...

  6. css细节:尖角处理

    在各种网站里面,我们会经常看到类似于这样的尖角:(示例:新浪微博) 它实现的方式有多种,哪种才是最简单的?哪种才是最优秀的?首先我声明一下,我还不清楚这个东西具体叫什么名字(哪位知道还望告知),暂且叫 ...

  7. InnoDB的锁机制浅析(二)—探索InnoDB中的锁(Record锁/Gap锁/Next-key锁/插入意向锁)

    Record锁/Gap锁/Next-key锁/插入意向锁 文章总共分为五个部分: InnoDB的锁机制浅析(一)-基本概念/兼容矩阵 InnoDB的锁机制浅析(二)-探索InnoDB中的锁(Recor ...

  8. oracle批量插入優化方案

    今天聽DBA説如果從一個表批量查詢出一批數據之後批量插入另外一張表的優化方案: 1)不寫歸檔日誌: 2)採用獨佔 關於insert /*+ append */我們需要注意以下三點: a.非歸檔模式下, ...

  9. django orm 优化

    .markdown-body hr::after,.markdown-body::after{clear:both}.loopLine,.messageLine0{marker-end:"u ...

  10. 自动添加 Qt 开发生成的 exe 所需的依赖环境

    双击获取 exe 文件路径 cd 进入文件目录的命令 调用 Qt 自带的软件进行环境配置,命令如下 windeployqt ***.exe 自动配置了依赖环境