八、CCMenu和CCMenuItem
来源:互联网 发布:三维制图软件 编辑:程序博客网 时间:2024/04/27 18:57
游戏中经常会提供一些菜单项让用户开始游戏、暂停\继续游戏、打开\关闭音乐或者是返回到上一个界面,比如下面两张图中用红色线框标记的菜单项
我们可以使用CCMenu和CCMenuItem实现上述的菜单功能,CCMenu继承自CCLayer,只能添加CCMenuItem为子节点。一个CCMenuItem就可以表示一个菜单项。
CCMenuItem继承自CCNode,来看下它的继承结构
下面直接上代码
- // 第一个菜单项: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的用法都大同小异
0 0
- 八、CCMenu和CCMenuItem
- 八、CCMenu和CCMenuItem
- 八、CCMenu和CCMenuItem
- 八、CCMenu和CCMenuItem
- CCMenu和CCMenuItem详解
- cocos2D(八)---- CCMenu && CCMenuItem
- 八、(转)M了个J CCMenu和CCMenuItem
- CCMenu CCMenuItem
- cocos2d-x、CCMenu、CCMenuItem
- Cocos2dx:菜单(CCMenu,CCMenuItem)
- cocos2d-x学习笔记-CCMenu和CCMenuItem详解
- Cocos-2d CCMenu和CCMenuItem菜单详解
- cocos2d-x学习笔记-CCMenu和CCMenuItem详解
- cocos2d-x学习笔记-CCMenu和CCMenuItem详解
- cocos2d-x学习笔记-CCMenu和CCMenuItem详解
- cocos2d-x学习笔记-CCMenu和CCMenuItem详解
- CCMenu及CCMenuItem位置问题
- Cocos2d自定义组件|继承CCMenu或CCMenuItem
- zoj 3332 Strange Country II DFS+回溯
- Linux下几种文件传输命令 sz rz sftp scp
- Android实现推送方式解决方案
- Centos部署Xcache提升脚本编译效率
- 学习游戏要学习编程语言吗?十大主流编程语言解析
- 八、CCMenu和CCMenuItem
- 安卓运行Run as却出现调试模式debug?
- Winpcap 动态链接库调用npf.sys
- Google I/O 2014 - Keynote for Android
- Spring实战笔记2---Bean的装配
- Android休眠唤醒驱动流程分析(三)
- 九、CCAction
- Linux下使用rsync 同步文件夹
- iOS多线程的初步研究(九)-- dispatch源