cocos2D(八)---- CCMenu && CCMenuItem
些菜单项让用户開始游戏、暂停\继续游戏、打开\关闭音乐或者是返回到上一个界面,比方以下两张图中用红色线框标记的菜单项
我们能够使用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(@"点击了图片button");
- }];
- // 按顺序加入菜单项到菜单中
- 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开发的android小游戏——採花仙
/*cocos 2d 已经成为了如今移动端游戏开发的强有力的工具,眼下主流游戏中多採用cocos 2d游戏引擎. 我也尝试了一下该引擎.我是用的是cocos2d-android,以后要移植到Cocos ...
- [Cocos2d-x For WP8]Layer 层
层(CCLayer) 从概念上说,层就是场景里的背景. CCLayer同样是CCNode的子类,通常用addChild方法添加子节点.CCLayer对象定义了可描绘的区域,定义了描绘的规则.C ...
- cocos2d-x学习笔记
转自:http://blog.csdn.net/we000636/article/details/8263503 接受触屏事件的优先级是值越小,响应触屏事件的优先级越高 Z值越大,越外面 JNI:允许 ...
- COCOS2D-JS入门-web端项目部署
下载cocos2d-js文件,建议上官网下载(外国官网或者中国官网都可以) 外国官网:http://cocos2d-x.org/download(选择最新版即可,我下载时为3.9版本,大概300多M) ...
- 【cocos2d-js官方文档】二十、moduleConfig.json
概述 该配置文件相当于v2版本号中的jsloader.js. 改造的目的是为了使得配置纯粹化,同一时候也能比較好的支持cocos-console.cocos-utils甚至是用户自己定义脚本工具. 字 ...
- cocos2d-x 菜单
菜单在游戏中是非常常见的控件之一.下面来分析下在cocos2dx中有那些菜单. 一共有六种菜单. CCMenu在创建时需要使用CCMenuItem来创建. CCMenu继承自CCLayer,是一个菜单 ...
- Pycharm下安装模块
方法一:使用Pycharm的终端安装 一.网络爬虫 1.安装requests包 作用:简洁且简单的处理HTTP请求的第三方库 网址:https://pypi.org/project/requests/ ...
- 八、CCMenu和CCMenuItem
游戏中经常会提供一些菜单项让用户开始游戏.暂停\继续游戏.打开\关闭音乐或者是返回到上一个界面,比如下面两张图中用红色线框标记的菜单项 我们可以使用CCMenu和CCMenuItem实现上述的 ...
- cocos2d在CCScrollView中嵌套CCMenu列表
在cocos2d中,CCMenuItem经常被当做按钮使用.在有许多条目需要逐行显示,并且点击每个条目都触发对应的事件的需求下,最容易想到的是用CCScrollView嵌套CCMenu. 但默认情况下 ...
随机推荐
- C++开源代码项目汇总
Google的C++开源代码项目 v8 - V8 JavaScript EngineV8 是 Google 的开源 JavaScript 引擎.V8 采用 C++ 编写,可在谷歌浏览器(来自 Go ...
- LIS小结(O(∩_∩)O~哄哄)
~\(≧▽≦)/~啦啦啦,昨天说的是LCS,今天我们要学习的是LIS,什么是LIS呢? LIS: 最长有序子序列(递增/递减/非递增/非递减)这么说还是有些模糊,举个例子: 在一个无序的序列a1,a ...
- 【菜鸟看框架】——EF怎样自己主动生成实体
引言 在上一篇博客中给大家介绍了一些关于EF框架的基本知识.让大家对实体架构算是有了一个入门的认识,当然知识 这一篇博客是不能非常清楚的理解实体架构的内涵的.我们须要在实践中自己去不断的研究和探索当中 ...
- Lambda高手之路第一部分
转http://www.cnblogs.com/lazycoding/archive/2013/01/06/2847574.html 介绍 Lambda表达式是使代码更加动态,易于扩展并且更加快速(看 ...
- Copy xml 文件
public static void copyFailFile(String bugID) throws Exception { File file = new File(".") ...
- 一种单片机支持WiFi的应用——SimpleWiFi在单片机中的应用
一种单片机支持WiFi的应用——SimpleWiFi在单片机中的应用 先上图: 现在的智能控制都是基于微控制器,随着智能的手持终端的普及,基于智能终端的控制就会越来越普遍. WIFI便是其中的一种.W ...
- C语言中的system函数參数具体解释
http://blog.csdn.net/pipisorry/article/details/33024727 函数名: system 功 能: 发出一个DOS命令 用 法: int sy ...
- Everything You Wanted to Know About Machine Learning
Everything You Wanted to Know About Machine Learning 翻译了理解机器学习的10个重要的观点,增加了自己的理解.这些原则在大部分情况下或许是这样,可是 ...
- Nagios监控系统的安装
环境:centOS 6.5 X86 64位 nagios-4.08 步骤: 1. 最小化安装系统 2. 修改安全特性 关闭SELINUX SELINUX=disabled 清除iptabl ...
- C编译: 使用gdb调试
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! gdb是the GNU Debugger的简称.它是一款UNIX平台的调试器(de ...