zoukankan      html  css  js  c++  java
  • 八、CCMenu和CCMenuItem

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

       

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

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

    下面直接上代码

    [java] view plaincopy
     
    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(@"点击了图片按钮");  
    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];  

    默认的效果图

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

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

    他CCMenuItem的用法都大同小异

  • 相关阅读:
    JSON入门之二:org.json的基本用法
    Eclipse下设置tomcat,修改Java代码不必重启tomcat
    maven仓库快速镜像
    ORA-06413连接未打开的错误的原因和解决方法
    .NET WIN7 64位 连接Oracle数据库
    5种方法解除开机密码
    精美的贴子挂件
    同学,同事,KTV聚会的小游戏
    QQ分组图案
    WIN7 XP 已达到计算机的连接数最大值,无法再同此远程计算机连接
  • 原文地址:https://www.cnblogs.com/llios/p/3786304.html
Copyright © 2011-2022 走看看