cocos2D(八)—- CCMenu && CCMenuItem

cocos2D(八)—- CCMenu && CCMenuItem

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

些菜单项让用户開始游戏、暂停\继续游戏、打开\关闭音乐或者是返回到上一个界面,比方以下两张图中用红色线框标记的菜单项

cocos2D(八)---- CCMenu && CCMenuItem   cocos2D(八)---- CCMenu && CCMenuItem

我们能够使用CCMenu和CCMenuItem实现上述的菜单功能,CCMenu继承自CCLayer。仅仅能加入CCMenuItem为子节点。一个CCMenuItem就能够表示一个菜单项。

CCMenuItem继承自CCNode。来看下它的继承结构

cocos2D(八)---- CCMenu && CCMenuItem

以下直接上代码

[java] 
view plain
copy

  1. // 第一个菜单项:CCMenuItemFont  
  2. // 设置文字大小  
  3. [CCMenuItemFont setFontSize:50];  
  4. CCMenuItemFont *item1 = [CCMenuItemFont itemFromString:@“文字菜单” block:^(id sender) {  
  5.     NSLog(@“点击了文字菜单”);  
  6. }];  
  7. // 文字为黄色  
  8. item1.color = ccc3(255, 255, 0);  
  9.   
  10. // 第二个菜单项:CCMenuItemToggle  
  11. // 又一次设置字体和大小  
  12. [CCMenuItemFont setFontName:@“Courier New”];  
  13. [CCMenuItemFont setFontSize:40];  
  14. // on为青色  
  15. CCMenuItemFont *on = [CCMenuItemFont itemFromString:@“On”];  
  16. on.color = ccc3(0, 255, 255);  
  17. // off为红色  
  18. CCMenuItemFont *off = [CCMenuItemFont itemFromString:@“Off”];  
  19. off.color = ccc3(255, 0, 0);  
  20. CCMenuItemToggle *item2 = [CCMenuItemToggle itemWithBlock:^(id sender) {  
  21.     NSLog(@“切换了开关状态”);  
  22. } items:on, off, nil];  
  23.   
  24. // 第三个菜单项:CCMenuItemSprite  
  25. // 默认的精灵  
  26. CCSprite *normal = [CCSprite spriteWithFile:@“lufy.png”];  
  27. // 被按下时的精灵(红色)  
  28. CCSprite *selected = [CCSprite spriteWithFile:@“lufy.png”];  
  29. selected.color = ccRED;  
  30. CCMenuItemSprite *item3 = [CCMenuItemSprite itemFromNormalSprite:normal selectedSprite:selected block:^(id sender) {  
  31.     NSLog(@“点击了图片button”);  
  32. }];  
  33.   
  34. // 按顺序加入菜单项到菜单中  
  35. CCMenu *menu = [CCMenu menuWithItems:item1, item2, item3, nil];  
  36. // 让菜单居中  
  37. CGSize winSize = [CCDirector sharedDirector].winSize;  
  38. menu.position = ccp(winSize.width * 0.5f, winSize.height * 0.5f);  
  39. // 垂直方向排列菜单项,每一个菜单项之间有30的垂直间距  
  40. [menu alignItemsVerticallyWithPadding:30];  
  41.   
  42. // 加入菜单到图层中  
  43. [self addChild:menu];  

默认的效果图

cocos2D(八)---- CCMenu && CCMenuItem

单击中间的青色的”On”后,变为了红色的off

cocos2D(八)---- CCMenu && CCMenuItem

长按以下的头像后,头像变为红色

cocos2D(八)---- CCMenu && CCMenuItem

其他CCMenuItem的使用方法都大同小异

原文地址:http://blog.csdn.net/q199109106q/article/details/8604273

感谢作者~!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117770.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • tomcat java_maven和java有什么区别

    tomcat java_maven和java有什么区别缓存什么是缓存[Cache]存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据的时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存减少和数据库的数据交换次数,较少系统开销,提高系统效率什么样的数据库能使用缓存经常查询并且不经常改变的数据Mybatis缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。默认情况下,只启用了本地的会话缓存,它仅

    2022年8月9日
  • VBoxManage常用命令用法

    VBoxManage常用命令用法VBoxManage命令常用用法系统环境:CentOS6.3x86_64VirtualBox版本:4.2.8VirtualBox扩展版本:4.2.8增加一个新的扩展包VBoxManageextpackinstall<.vbox-extpack>卸载指定扩展包VBoxManageextpackuninstall<name>显示已安装的扩展包VBoxManagelistextpacks移除安装扩展包失败或卸载扩展包失败时可能遗留下来的文件和

    2022年6月9日
  • 在线网站技术分析工具

    在线网站技术分析工具Wappalyzer:在线网站技术分析工具Wappalyzer网站是一个可以分析不同网站所使用的各种技术的工具,对于有自身经验的网站开发者而言可以通过代码开分析网站的构架和所采用的技术,不过现在你可以通过工具来获得网站技术的参数报告了。Wappalyzer工具致支持分析目标网站所采用的平台构架、网站环境、服务器配置环境、JavaScript框架、编程语言等参数,同时

    2022年5月4日
  • Android签名

    Android签名

    2021年8月10日
  • CreateThread WaitForMultipleObjects[通俗易懂]

    CreateThread WaitForMultipleObjects[通俗易懂]//最简单的创建多线程实例#include#include//子线程函数DWORDWINAPIThreadFun(LPVOIDpM){printf(“子线程的线程ID号为:%d\n子线程输出HelloWorld\n”,GetCurrentThreadId());return0;}//主函数,所谓主函数其实就是主线程执行的函数。intmain

    2022年7月27日
  • Mysql 日期类型比较 TIMESTAMPDIFF

    Mysql 日期类型比较 TIMESTAMPDIFF  在数据库查询中,经常遇到计算2个日期相差值,SQL提供一个非常有用的函数:TIMESTAMPDIFFT。  基本语法:TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)    其中,interval的取值可以为:SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTERorYEAR   …

    2022年5月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号