coco2d-js菜单项cc.MenuItem详解
2016-04-23 12:36
330 查看
菜单中又包含菜单项,菜单项是cc.MenuItem,每个菜单项都有三个基本状态:正常、选中和禁止。菜单间接继承自cc.Node,继承了cc.Node的相关特性。
cc.MenuItem类图如下:
1、文本菜单
文本菜单是菜单项只能显示文本,文本菜单类包括
参数说明:
代码实例:
参数说明:
代码示例:
来来来,给张图片集文本的图片做个练习(单字符宽高分别为60):
2、精灵菜单
具有精灵的特点,可以让精灵动起来,具体使用时把一个精灵放入菜单中作为菜单项。
使用精灵菜单较麻烦,需要先创建3种不同状态所需要的精灵(即
精灵菜单其中一构造函数如下:
参数说明:
代码示例:
3、图片菜单
由于图片菜单继承于
参数说明:
代码示例:
4、开关菜单
是一种可以进行两种状态切换的菜单项,可以用来做音乐开关按钮等;其构造函数如下:
参数说明:
代码示例:
cc.MenuItem类图如下:
1、文本菜单 cc.MenuItemLabel
文本菜单是菜单项只能显示文本,文本菜单类包括cc.MenuItemLabel、
cc.MenuItemFont和
cc.MenuItemAtlasFont。
cc.MenuItemLabel是个抽象类,具体使用的时候是使用
cc.MenuItemFont和
cc.MenuItemAtlasFont两个类。
① 文本菜单 cc.MenuItemFont
使用系统字体或自定义字体作为菜单的字体,其其中一构造函数如下:ctor(text, fontName, callback, target)
参数说明:
text文本内容
callback菜单操作的回调函数指针
target函数所在的对象
代码实例:
// 创建文本菜单 var item = new cc.MenuItemFont('lalalala', function() { console.log('艾玛你点到我了'); }, this), menu = new cc.Menu(item); item.setFontName('Arial'); // 设置文本字体 item.setFontSize(30); // 设置字体大小 this.addChild(menu);
② 图片集文本菜单 cc.MenuItemAtlasFont
基于文本图片集的文本菜单项,其其中一构造函数如下:ctor(value, charMapFile, itemWidth, itemHeight, startCharMap, callback);
参数说明:
value:文本内容
charMapFile:图片集文件路径,一般在资源加载res变量中定义
itemWidth:要截取的文字在图片中的宽度
itemHeight:要截取的文字在图片中的高度
startCharMap:开始字符
callback:菜单操作的回调函数指针
代码示例:
// var res = { number: 'res/number.png'; } // 创建图片集文本菜单 var item = new cc.MenuItemAtlasFont('123123', res.number, 60, 60, '0', function() { console.log('艾玛你点到我了'); }, this), menu = new cc.Menu(item); this.addChild(menu);
来来来,给张图片集文本的图片做个练习(单字符宽高分别为60):
2、精灵菜单 cc.MenuItemSprite
具有精灵的特点,可以让精灵动起来,具体使用时把一个精灵放入菜单中作为菜单项。使用精灵菜单较麻烦,需要先创建3种不同状态所需要的精灵(即
normalSprite,
selectedSprite和
disabledSprite)。如果精灵是由图片构成,可以使用
cc.MenuItemImage实现与精灵菜单同样的效果。
精灵菜单其中一构造函数如下:
ctor(normalSprite, selectedSprite, callback, target)
参数说明:
normalSprite:菜单项正常显示时的精灵
selectedSprite:选择菜单项时显示的精灵
callback:菜单操作的回调函数指针
target:函数所在的对象
代码示例:
// 创建精灵菜单 var sp1 = new cc.Sprite(res.normal_png), sp2 = new cc.Sprite(res.selected_png), item = new cc.MenuItemSprite(sp1, sp2, function() { console.log('艾玛你点到我了'); }, this), menu = new cc.Menu(item); this.addChild(menu);
3、图片菜单 cc.MenuItemImage
由于图片菜单继承于cc.MenuItemSprite,所以图片菜单也属于精灵菜单,使用静态图片作为菜单显示内容。其构造函数如下:
ctor(normalImage, selectedImage, callback, target)
参数说明:
normalImage:菜单项正常显示时的图片
selectedImage:选择菜单项时的图片
callback:菜单操作的回调函数指针
target:函数所在的对象
代码示例:
/* var res = { normal_png: 'res/normal.png', selected_png: 'res/selected.png', } */ // 创建图片菜单 var item = new cc.MenuItemImage(res.normal_png, res.selected_png, function() { console.log('艾玛你点到我了'); }, this), menu = new cc.Menu(item); this.addChild(menu);
4、开关菜单 cc.MenuItemToggle
是一种可以进行两种状态切换的菜单项,可以用来做音乐开关按钮等;其构造函数如下:ctor(onMenuItem, offMenuItem, callback, target)
参数说明:
onMenuItem:菜单项On时的菜单项
offMenuItem:菜单项Off时的菜单项
callback:菜单操作的回调函数指针
target:函数所在的对象
代码示例:
// 创建开关菜单 var item = new cc.MenuItemToggle( new cc.MenuItemFont('On'), new cc.MenuItemFont('Off'), function() { console.log('艾玛你点到我了'); }, this ), menu = new cc.Menu(item); this.addChild(menu);
如需转载请注明出处!!
相关文章推荐
- Cocos2d-JS 环境搭建 for mac
- Cocos2d-x CCTouchBegin 的bool返回值的作用
- 【cocos2d-js】监听双击
- Android Fragment 真正的完全解析(下)
- android设置actionbar中menuitem的text的size
- Andoid 菜单项没办法小写(自动大写)
- 【amazing cocos2d-x 3.0之十一】制作各种按钮
- Android中的菜单显示风格
- Cocos2d-x之MenuItem
- cocos2dx 3.X 中 Menu, MenuItem 注意事项
- COCOS学习笔记--Menu菜单系统
- GUI(打开、保存文件)
- menuItem无法响应点击事件
- MenuItem 显示中文乱码问题的解决方案 推荐
- WPF 支持分组互斥的 RadioButton 式单选菜单
- android之菜单(menu)
- Menu基本介绍实现
- Android Fragment中使用Toolbar
- unity3D 编辑器扩展,MenuItem 和 ContextMenu 的用法和分析
- Unity编辑器的扩展,MenuItem的使用整理