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(2552550);  
  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(0255255);  
  17. // off为红色  
  18. CCMenuItemFont *off = [CCMenuItemFont itemFromString:@“Off”];  
  19. off.color = ccc3(25500);  
  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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 项目与数据库时差8小时解决,设置SpringBoot的时区

    项目与数据库时差8小时解决,设置SpringBoot的时区Componentpub PostConstruc TimeZone setDefault TimeZone getTimeZone UTC TimeZone setDefault TimeZone getTimeZone Asia Shanghai TimeZone setDefault Time

    2025年6月8日
    0
  • java 堆栈的声明_Java 堆栈[通俗易懂]

    java 堆栈的声明_Java 堆栈[通俗易懂]Java堆栈堆栈是一种线性数据结构,用于存储对象的集合。它基于先进先出(LIFO)。Java集合框架提供了许多接口和类来存储对象的集合。其中之一是Stack类,它提供了不同的操作,例如推,弹出,搜索等。在本节中,我们将讨论JavaStack类,其方法和实现在Java中的堆栈数据结构程序。但是在转到JavaStack类之前,请先快速了解堆栈的工作原理。堆栈数据结构具有两个最重要的操作,分别…

    2022年7月7日
    19
  • springboot启动流程源码分析(二)

    springboot启动流程源码分析(二)

    2021年8月3日
    54
  • vue django mysql_Python MySQL

    vue django mysql_Python MySQL工作之余断断续续根据网上找到的教程进行环境搭建,搭建了多个。但是一直没有一个整体概念,到底该先做什么,后做什么,操作一步后,结果应该是怎样另外,网上的教程都是直接用命令行操作,用pycharm又应该怎么弄呢环境搭建好以后,应该怎么分目录结构,应该先从哪里的代码开始写,写了以后,又需要做哪些配置这些问题一直困扰着我,所以我决定边学边记录整理。也希望能帮助同为初学者的你少走一些…

    2022年8月28日
    3
  • FileUpload文件上传控件「建议收藏」

    FileUpload文件上传控件「建议收藏」1.FileUpload控件的主要功能是向指定目录上传文件。FileUpload控件不会自动上传控件,而需要设置相关的事件处理程序,然后在程序中实现文件上传。2.FileUpload控件常见的属性

    2022年7月1日
    25
  • 区块链P2P网络协议演进过程[通俗易懂]

    区块链P2P网络协议演进过程[通俗易懂]区块链是以加密机制、储存机制、共识机制等多种技术组成的分布式系统,可以在无中心服务器的情况下实现相互信任的点对点交易功能。区块链最大的特点是去中心化和分布式,区块链共识机制使得参与节点共同为系统提供服务,实现中心化系统中类似金融中介机构的功能。共识机制是网络大部分节点在约定时间段内对交易状态达成相同的确认,其中共识性通过工作量证明(POW)、权益证明(POS)、实用拜占庭容错(PBFT)等多种共识算法实现。而一致性则要求大部分节点在约定时间段内保持数据内容一致,从而利用共识算法实现共识。传统中心化网络系统需

    2022年10月8日
    0

发表回复

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

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