Cocos2dx 菜单项控件-Menu
除了标签以外,按钮也是很重要的UI控件,在游戏菜单中,按钮是必不可少的控件,它可以对游戏画面进行操作,例如游戏开始菜单项、暂停菜单项和退出菜单项等。
在对菜单项进行学习时,有必要先对MenuItem类进行学习,他是所有菜单项的基类,以下是常用方法。
static MenuItem* create() //创建一个对象
static MenuItem* create(const ccMenuCallback& callback) //创建一个对象,参数是此菜单项的回调方法。
Rect rect() //获取菜单项的矩形区域
virtual void activate() //激活此菜单项。
virtual void selected() //选中菜单项。
virtual void unselected() //取消选中。
virutal bool isEnabled() //判断此菜单项是否可用。
virtual void setEnabled(bool value) //设置菜单项是否可用。
virtual bool isSelected() //判断菜单项是否被选中。
void setCallback(const ccMenuCallback& callback) //设置菜单项回调方法。
MenuItem是所有菜单项的基类,不会直接使用,在开发中最主要是使用它的子类:
1、文本菜单项 - MenuItemLabel
static MenuItemLabel* create(Node* label,const ccMenuCallback& callback) //创建一个对象,参数一是标签指针,参数二是回调函数。
static MenuItemLabel* create(Node * label) //创建一个对象。
Color3B& getDisabledColor() //获取文本菜单被禁用时颜色。
void settDisabledColor(Color3B& color) //设置菜单被禁用时颜色。
Node* getLabel() //获取文本菜单项包含的标签。
void setLabel(Node* node) //设置文本菜单项包含的文本标签。
2、精灵菜单项 - MenuItemSprite
static MenuItemSprite* create(Node* normalSprite,Node* selectedSprite,Node* disabledSprite = nullptr) //创建一个对象,参数一是菜单未选中时对应的精灵指针,参数二是菜单被选中时精灵指针,参数三是菜单禁用时精灵指针(可以不设置)。
static MenuItemSprite* create(Node* normalSprite,Node* selectedSprite,const ccMenuCallback& callback) //创建一个对象,参数一是菜单未选中时对应的精灵指针,参数二是菜单被选中时精灵指针,参数三是回调函数。
static MenuItemSprite* create(Node* normalSprite,Node* selectedSprite,Node* disabledSprite = nullptr,const ccMenuCallback& callback) //创建一个对象,参数一是菜单未选中时对应的精灵指针,参数二是菜单被选中时精灵指针,参数三是菜单禁用时精灵指针,参数四是回调函数。
void [set/get]NormalImage(Node* image) //设置/获取此单项没被选中时的精灵。
void [set/get]SelectedImage(Node* image) //设置/获取此单项被选中时的精灵。
void [set/get]DisabledImage(Node* image) //设置/获取此单项被禁用时的精灵。
3、图片菜单项 - MenuItemImage(是精灵菜单的子类)
static MenuItemImage* create() //创建一个子类
static MenuItemImage* create(const std::String& normalImage,const std::string& selectedImage) //创建一个菜单项对象,参数一是未点击时图片,参数二是点击时图片。
static MenuItemImage* create(const std::String& normalImage,const std::string& selectedImage,const std::string& disableImage) //创建一个菜单项对象,参数一是未点击时图片,参数二是点击时图片,参数三是禁用时候的图片。
static MenuItemImage* create(const std::String& normalImage,const std::string& selectedImage,ccMenuCallback& callback) //创建一个菜单项对象,参数一是未点击时图片,参数二是点击时图片,参数三是此菜单项的回调方法。。
static MenuItemImage* create(const std::String& normalImage,const std::string& selectedImage,const std::string& disableImage,ccMenuCallback& callback) //创建一个菜单项对象,参数一是未点击时图片,参数二是点击时图片,参数三是禁用时候的图片,参数四是此菜单项的回调方法。
void setNormalSpriteFrame(SpriteFrame* frame) //设置菜单项未被点击时图标。
void setSelectedSpriteFrame(SpriteFrame* frame) //设置菜单被点击时图片。
void setDdisabledSpriteFrame(SpriteFrame* frame) //设置菜单项被禁用时图片。
4、开关菜单项 - MenuItemToggle
static MenuItemToggle* create() // 创建一个对象
static MenuItemToggle* createWithCallback(const ccMenuCallback& callback,const Vector<MenuItem*>& menuItems) 创建一个对象,参数一是回调函数,参数二是菜单项容器。
static MenuItem* create(MenuItem* tiem) //基于一个菜单项创建触发器对象。
void addSubItem(Menutiem* tiem) //给触发器添加菜单项。
Menuitem* getSelecteditem() //返回被选中菜单项。
const unsigned int getSelectedIndex() //获取被选中菜单项的索引。
void getSelectedIndex( unsigned int index) //设置被选中菜单项。
set setSubitems(const Vector<menuItem*>& items) //设定触发器包含菜单项。
virutal void setEnabled(bool enabled) //启用或禁用菜单项
除了以上四个常用的子类外,MenuItem还有其余一些比较少用的子类,基本都是文本菜单项的子类。
但直接添加到布景层中的菜单项并不能发挥它的功能,菜单项必须依附在从菜单中才能从在布景中实现其功能。这个时候菜单类-Menu尤为重要。
※Menu类的常用方法:
static Menu* create() //创建一个对象。
static Menu* create(MenuItem* item,......)创建一个对象,参数是每个菜单项对象,最后要用NULL结尾。
static Menu* createWithArray(const Vector<MenuItem*>& arrayOfItems) //创建一个对象,参数是菜单项向量指针。
static Menu* createWithItem(MenuItem* item) //使用一个菜单项创建对象。
static Menu* createWithIitems(MenuItem*firstItem,ca_list args) //创建一个对象,参数一是第一个菜单项指针,参数二是变长参数。
void alignItemsHorizontally() //水平对齐菜单中菜单项。
void alignItemsHorizontallyWithPadding(float padding) //水平对齐菜单项,参数是各菜单间隔。
void alignItemsVertically() //垂直对齐菜单中菜单项。
void alignItemsVerticallyWithPadding(float padding) //垂直对齐菜单项,参数是各菜单间隔。
在布景上添加菜单项的方法:
1、把菜单项(MenuItem)添加进菜单(Menu)
2、把菜单(Menu)添加至相应层(Layer)
Cocos2dx 菜单项控件-Menu相关推荐
- tkinter教程7:控件Menu
tkinter教程7:控件Menu 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: python版本:3.5 开发环境:pyCharm 源码: ...
- 常用MFC控件基础使用(Edit Button Check Combo Tree 显示位图 控件大小自适应、线程、右键菜单、控件调整移动、MFC背景)
常用MFC控件基础使用 1.Edit Control 2.Button控件 3.Check控件 4.Combo Box 5.Tree 控件 5.快捷键设置 6 显示缓冲区位图 7 窗口自适应大小 8 ...
- vc2008中mfc菜单、控件等汉字显示为问号或乱码的解决方法
在vc2008中建立基于mfc的project.在向导的Application type页面中如果在resource language选项中选择"英语(美国)"(图一),那么在pr ...
- html ui 下拉列表,Atitit.ui控件-下拉菜单选择控件的实现select html_html/css_WEB-ITnose...
Atitit.ui控件---下拉菜单选择控件的实现select html 1. 调用& model的实现 1 2. -----select.jsp------ 1 1. 调用& mod ...
- [导入]Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]...
Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载] 文章来源:http://blog.csdn.net/chengking/archive/2007/0 ...
- ASP.NET2.0 菜单控件menu的动态静态用法
利用 ASP.NET Menu 控件,可以开发 ASP.NET 网页的静态和动态显示菜单.您可以在 Menu 控件中直接配置其内容,也可通过将该控件绑定到数据源的方式来指定其内容. 无需编写任何代码, ...
- Coolite Toolkit学习笔记五:常用控件Menu和MenuPanel
Coolite Toolkit里的Menu控件和其他的.NET Web控件不一样,如果只是设计好了Menu或是通过程序初始化菜单项,菜单是不会呈现在界面上的,因为Coolite Toolkit规定Me ...
- Matlab学习笔记(三)--菜单与控件
26.菜单的创建 使用函数uimenu创建菜单. 使用示例: clear all ; clc ; rect=get(0,'screenSize');%获取屏幕尺寸 N=512;%屏幕尺寸 %创建图形窗 ...
- C#/Winform 右键菜单-ContextMenuStrip控件
效果 用于TreeView的右键菜单,同样也适用于ListBox,Lable等其他控件 1.添加ContextMenuStrip.TreeView 设置一下:ContextMenuStrip的选项.T ...
最新文章
- Mybatis传递多个参数的4种方式
- 微软修复20多年的老漏洞:Win95时就存在了
- docker linux redis 安装
- 面试题: 看下面的程序是否有问题 如果有问题请指出 并说明 (关于数据类型-隐性转换的小陷阱)
- audio h5 src 变了之后_我在叩丁狼学H5
- 别在Java代码里乱打日志了,这才是正确的打日志姿势!
- 非常全的VS Code快捷键
- Web方式预览Office/Word/Excel/pdf文件解决方案
- Android 中关于Cursor类的介绍
- [7]2019-ICDM-Learning to Sample:an Active Learning Framework 论文笔记
- 比特币 POW 白皮书 区块篡改成功的概率计算详解
- python自定义类
- Android Netd ndc
- Win7原版镜像注入USB驱动
- idea toggle offline mode
- LeetCode Relative Ranks
- Java 正则表达式 中的 任意字符
- qt编译quazip静态库_Qt之QuaZip编译-使用教程
- 张一鸣和扎克伯格,一生之敌
- html 图片比例 js,js自动等比例设置图片尺寸大小
热门文章
- 技巧篇:常用的python代码汇总
- 判断dll的.netframwork的版本的两种方式
- 下载神器:axel aria2 mwget多线程快速下载取代curl和wget的多线程下载命令
- 35岁以后软测就没有出路了吗?听听京东10年测开的经验分析
- C语言关键字---auto
- 基于Android的备忘录软件,基于Android的手机备忘录软件设计
- Java调用arcgis导入shape,java for arcgis 之——将shapefile导入SDE
- 基于ssm高校科研管理系统-计算机毕业设计源码+LW文档
- HDU 3549 网络流水题
- 生物信息学——fasts格式文件合并