游戏中经常会提供一些菜单项让用户开始游戏、暂停\继续游戏、打开\关闭音乐或者是返回到上一个界面,比如下面两张图中用红色线框标记的菜单项
我们可以使用Ccmenu和CcmenuItem实现上述的菜单功能,Ccmenu继承自cclayer,只能添加CcmenuItem为子节点。一个CcmenuItem就可以表示一个菜单项。
CcmenuItem继承自CCNode,来看下它的继承结构
下面直接上代码
- //第一个菜单项:CcmenuItemFont
- //设置文字大小
- [CcmenuItemFontsetFontSize:50];
- CcmenuItemFont*item1=[CcmenuItemFontitemFromString:@"文字菜单"block:^(idsender){
- NSLog(@"点击了文字菜单");
- }];
- //文字为黄色
- item1.color=ccc3(255,0);
- //第二个菜单项:CcmenuItemToggle
- //重新设置字体和大小
- [CcmenuItemFontsetFontName:@"CourierNew"];
- 40];
- //on为青色
- CcmenuItemFont*on=[CcmenuItemFontitemFromString:@"On"];
- on.color=ccc3(0,0); background-color:inherit">255);
- //off为红色
- CcmenuItemFont*off=[CcmenuItemFontitemFromString:@"Off"];
- off.color=ccc3(0);
- CcmenuItemToggle*item2=[CcmenuItemToggleitemWithBlock:^(idsender){
- NSLog(@"切换了开关状态");
- }items:on,off,nil];
- //第三个菜单项:CcmenuItemSprite
- //默认的精灵
- CCSprite*normal=[CCSpritespriteWithFile:@"lufy.png"];
- //被按下时的精灵(红色)
- CCSprite*selected=[CCSpritespriteWithFile:@"lufy.png"];
- selected.color=ccRED;
- CcmenuItemSprite*item3=[CcmenuItemSpriteitemFromnormalSprite:normalselectedSprite:selectedblock:^(idsender){
- NSLog(@"点击了图片按钮");
- //按顺序添加菜单项到菜单中
- Ccmenu*menu=[CcmenumenuWithItems:item1,item2,item3,nil];
- //让菜单居中
- CGSizewinSize=[CCDirectorsharedDirector].winSize;
- menu.position=ccp(winSize.width*0.5f,winSize.height*0.5f);
- //垂直方向排列菜单项,每个菜单项之间有30的垂直间距
- [menualignItemsverticallyWithPadding:30];
- //添加菜单到图层中
- [selfaddChild:menu];
单击中间的青色的"On"后,变为了红色的off
长按下面的头像后,头像变为红色
原文地址:http://blog.csdn.net/q199109106q/article/details/8604273
感谢作者~!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。