Cocos2dx 菜单项控件-Menu
来源:互联网 发布:淘宝一元拍是真的吗 编辑:程序博客网 时间:2024/04/30 09:32
除了标签以外,按钮也是很重要的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) //设置菜单项被禁用时图片。
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
- cocos2dx Menu 菜单
- cocos2dx 玩转Menu菜单
- [控件]menu菜单
- 实例:Menu控件实现菜单
- Android 控件 之 Menu 菜单
- Android 控件 之 Menu 菜单
- Android菜单menu控件大全
- UI控件之菜单(Menu)
- Android 控件 之 Menu 菜单
- 菜单项Menu&子Menu
- 按menu菜单项
- 菜单项Menu学习
- menu控件制作下拉式导航菜单
- Android 菜单(Menu)控件的使用
- Android UI控件详解-Menu(菜单)
- 6 cocos2dx 菜单项
- Joomla! 使用手册 - 菜单及菜单项(Menu & Menu Item) 【转】
- Java内存泄露的原因
- 20162017-ct-s03e02-codeforces-trainings-season-3-episode-2-en-I Painting the natural numbers
- 编写Js SDK获取网页信息(包含10多项内容)
- Elasticsearch2.x Doc values
- 优酷上不错的最优化教学视频地址
- Cocos2dx 菜单项控件-Menu
- bzoj3697(点分治)
- 深度学习的学习流程之基础
- shell程序设计的流程控制及其命令分组
- HashMap的工作原理
- JVM监测指令
- ExtJs 入门笔记1[Hello World]
- Java中强引用、软引用、弱引用、虚引用内容解析------夜空中最亮的星
- jsp源码审计的积累