cocos2D(八)---- CCMenu && CCMenuItem
2014-11-05 16:39
155 查看
游戏中经常会提供一些菜单项让用户开始游戏、暂停\继续游戏、打开\关闭音乐或者是返回到上一个界面,比如下面两张图中用红色线框标记的菜单项
我们可以使用CCMenu和CCMenuItem实现上述的菜单功能,CCMenu继承自CCLayer,只能添加CCMenuItem为子节点。一个CCMenuItem就可以表示一个菜单项。
CCMenuItem继承自CCNode,来看下它的继承结构
下面直接上代码
[java] view
plaincopy
// 第一个菜单项:CCMenuItemFont
// 设置文字大小
[CCMenuItemFont setFontSize:50];
CCMenuItemFont *item1 = [CCMenuItemFont itemFromString:@"文字菜单" block:^(id sender) {
NSLog(@"点击了文字菜单");
}];
// 文字为黄色
item1.color = ccc3(255, 255, 0);
// 第二个菜单项:CCMenuItemToggle
// 重新设置字体和大小
[CCMenuItemFont setFontName:@"Courier New"];
[CCMenuItemFont setFontSize:40];
// on为青色
CCMenuItemFont *on = [CCMenuItemFont itemFromString:@"On"];
on.color = ccc3(0, 255, 255);
// off为红色
CCMenuItemFont *off = [CCMenuItemFont itemFromString:@"Off"];
off.color = ccc3(255, 0, 0);
CCMenuItemToggle *item2 = [CCMenuItemToggle itemWithBlock:^(id sender) {
NSLog(@"切换了开关状态");
} items:on, off, nil];
// 第三个菜单项:CCMenuItemSprite
// 默认的精灵
CCSprite *normal = [CCSprite spriteWithFile:@"lufy.png"];
// 被按下时的精灵(红色)
CCSprite *selected = [CCSprite spriteWithFile:@"lufy.png"];
selected.color = ccRED;
CCMenuItemSprite *item3 = [CCMenuItemSprite itemFromNormalSprite:normal selectedSprite:selected block:^(id sender) {
NSLog(@"点击了图片按钮");
}];
// 按顺序添加菜单项到菜单中
CCMenu *menu = [CCMenu menuWithItems:item1, item2, item3, nil];
// 让菜单居中
CGSize winSize = [CCDirector sharedDirector].winSize;
menu.position = ccp(winSize.width * 0.5f, winSize.height * 0.5f);
// 垂直方向排列菜单项,每个菜单项之间有30的垂直间距
[menu alignItemsVerticallyWithPadding:30];
// 添加菜单到图层中
[self addChild:menu];
默认的效果图
单击中间的青色的"On"后,变为了红色的off
长按下面的头像后,头像变为红色
其他CCMenuItem的用法都大同小异
原文地址:http://blog.csdn.net/q199109106q/article/details/8604273
感谢作者~!
我们可以使用CCMenu和CCMenuItem实现上述的菜单功能,CCMenu继承自CCLayer,只能添加CCMenuItem为子节点。一个CCMenuItem就可以表示一个菜单项。
CCMenuItem继承自CCNode,来看下它的继承结构
下面直接上代码
[java] view
plaincopy
// 第一个菜单项:CCMenuItemFont
// 设置文字大小
[CCMenuItemFont setFontSize:50];
CCMenuItemFont *item1 = [CCMenuItemFont itemFromString:@"文字菜单" block:^(id sender) {
NSLog(@"点击了文字菜单");
}];
// 文字为黄色
item1.color = ccc3(255, 255, 0);
// 第二个菜单项:CCMenuItemToggle
// 重新设置字体和大小
[CCMenuItemFont setFontName:@"Courier New"];
[CCMenuItemFont setFontSize:40];
// on为青色
CCMenuItemFont *on = [CCMenuItemFont itemFromString:@"On"];
on.color = ccc3(0, 255, 255);
// off为红色
CCMenuItemFont *off = [CCMenuItemFont itemFromString:@"Off"];
off.color = ccc3(255, 0, 0);
CCMenuItemToggle *item2 = [CCMenuItemToggle itemWithBlock:^(id sender) {
NSLog(@"切换了开关状态");
} items:on, off, nil];
// 第三个菜单项:CCMenuItemSprite
// 默认的精灵
CCSprite *normal = [CCSprite spriteWithFile:@"lufy.png"];
// 被按下时的精灵(红色)
CCSprite *selected = [CCSprite spriteWithFile:@"lufy.png"];
selected.color = ccRED;
CCMenuItemSprite *item3 = [CCMenuItemSprite itemFromNormalSprite:normal selectedSprite:selected block:^(id sender) {
NSLog(@"点击了图片按钮");
}];
// 按顺序添加菜单项到菜单中
CCMenu *menu = [CCMenu menuWithItems:item1, item2, item3, nil];
// 让菜单居中
CGSize winSize = [CCDirector sharedDirector].winSize;
menu.position = ccp(winSize.width * 0.5f, winSize.height * 0.5f);
// 垂直方向排列菜单项,每个菜单项之间有30的垂直间距
[menu alignItemsVerticallyWithPadding:30];
// 添加菜单到图层中
[self addChild:menu];
默认的效果图
单击中间的青色的"On"后,变为了红色的off
长按下面的头像后,头像变为红色
其他CCMenuItem的用法都大同小异
原文地址:http://blog.csdn.net/q199109106q/article/details/8604273
感谢作者~!
相关文章推荐
- cocos2D(八)---- CCMenu && CCMenuItem
- cocos2D(八)---- CCMenu && CCMenuItem
- Cocos2d-x ——菜单层(CCMenuItemLabel) 一
- cocos2d-x ——菜单层(CCMenuItemFont)二
- cocos2d-x 开关按钮 三态按钮 的实现 CCMenuItemToggle
- cocos2d-x之-CCMenuItemToggle使用方法
- cocos2d-x TestLua 之 CCMenuItemLabel CCMenuItemSprite CCMenuItemFont 菜单类
- 文本转载【Cocos2D-X 】初窥门径(16)几种常用的 CCMenuItem、自定义Button
- cocos2d-x学习笔记-CCMenu和CCMenuItem详解
- cocos2d-x 开关按钮 三态按钮 的实现 CCMenuItemToggle
- Cocos2d-x 带冷却效果的菜单按钮CCMenuItem
- cocos2d-x、CCMenu、CCMenuItem
- 在 cocos2d 中判断互相重叠的 CCMenuItem
- cocos2d-x学习笔记-CCMenu和CCMenuItem详解
- Cocos2d自定义组件|继承CCMenu或CCMenuItem
- CCMenuItemImage 让按钮被点击时显示另一张图片(cocos2d-x基础)
- Cocos2d-x ——菜单层(CCMenuItemLabel) 一
- cocos2d-x ——菜单层(CCMenuItemSprite)三
- cocos2d-x CCmenuSpriteItem 用getChildByTag()获取;
- 【Cocos2D-X 游戏引擎】初窥门径(16)几种常用的 CCMenuItem、自定义Button