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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring dubbo集成(@autowired和构造器注入)

    一:运行spring容器的方式有三种1:使用tomcat、jetty等servlet容器运行2:自己写一个Main方法运行3:使用dubbo框架提供的Main方法运行前面两种有一定的局限性,很多缺点,具体就不一一列举,有兴趣的同学可以研究一下,今天就给大家讲如何实现第三种方式二:Main配置详讲spring路径存放路径 按照dubbo官网解说,要使得Main能正确的启

    2022年4月14日
    116
  • 大数阶乘算法

    大数阶乘算法一:精度要求较低的阶乘算法如果只是要求算法的速度,而对精度要求比较低的话可以直接使用,斯特林公式计算n!斯特林公式如下:n!=sqrt(2*PI*n)*(n/e)^n*(1+1/12/n+1/288/n2–139/51840/n3-571/2488320/n4+…)或ln(n!)=0.5*ln(2*PI)+(n+0.5)*ln(n)-n+(1/12/n-1/360

    2022年7月24日
    18
  • gbdt算法_双色球最简单的算法

    gbdt算法_双色球最简单的算法https://github.com/NLP-LOVE/ML-NLP/blob/master/Machine%20Learning/3.2%20GBDT/3.2%20GBDT.md1.解释一下GBDT算法的过程GBDT(GradientBoostingDecisionTree),全名叫梯度提升决策树,使用的是Boosting的思想。1.1Boosting思想Boosting方法训练基分类器时采用串行的方式,各个基分类器之间有依赖。它的基本思路是将基分类器层层叠加,每一层在训练的时候,对前一

    2022年10月12日
    4
  • DVP MIPI-CSI 摄像头接口的区别

    DVP MIPI-CSI 摄像头接口的区别一、MIPI1、什么是MIPI?MIPI联盟,即移动产业处理器接口(MobileIndustryProcessorInterface简称MIPI)联盟。MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。2、MIPI的特点MIPI是差分串口传输,速度快,抗干扰。主流手机模组现在都是用MIPI传输,传输时使用4对差分信号传输图像数据和…

    2022年5月3日
    182
  • 无法解析的外部符号的几种可能

    无法解析的外部符号的几种可能参考:https://blog.csdn.net/educast/article/details/12491473,补充了一项1. lib文件未引入。可使用“#pragmacomment(lib,“winsock.lib”)”语句添加lib引用,也可在项目依赖里添加。2. 类方法的实现未加类标识。如,“CTest::Connect(void){…}”写成了“Conn…

    2022年6月28日
    29
  • OPENCV轮廓提取findContours和drawContours

    OPENCV轮廓提取findContours和drawContours关于opencv中的轮廓提取函数findcontours()和轮廓绘制函数drawContours()中参数的说明和实验结果。

    2025年6月28日
    2

发表回复

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

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