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

前端之家收集整理的这篇文章主要介绍了cocos2D(八)---- CCMenu && CCMenuItem前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

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

下面直接上代码

[java] view plain @L_404_1@
  1. //第一个菜单项:CCMenuItemFont
  2. //设置文字大小
  3. [CCMenuItemFontsetFontSize:50];
  4. CCMenuItemFont*item1=[CCMenuItemFontitemFromString:@"文字菜单"block:^(idsender){
  5. NSLog(@"点击了文字菜单");
  6. }];
  7. //文字为黄色
  8. item1.color=ccc3(255,0);
  9. //第二个菜单项:CCMenuItemToggle
  10. //重新设置字体和大小
  11. [CCMenuItemFontsetFontName:@"CourierNew"];
  12. 40];
  13. //on为青色
  14. CCMenuItemFont*on=[CCMenuItemFontitemFromString:@"On"];
  15. on.color=ccc3(0,0); background-color:inherit">255);
  16. //off为红色
  17. CCMenuItemFont*off=[CCMenuItemFontitemFromString:@"Off"];
  18. off.color=ccc3(0);
  19. CCMenuItemToggle*item2=[CCMenuItemToggleitemWithBlock:^(idsender){
  20. NSLog(@"切换了开关状态");
  21. }items:on,off,nil];
  22. //第三个菜单项:CCMenuItemSprite
  23. //默认的精灵
  24. CCSprite*normal=[CCSpritespriteWithFile:@"lufy.png"];
  25. //被按下时的精灵(红色)
  26. CCSprite*selected=[CCSpritespriteWithFile:@"lufy.png"];
  27. selected.color=ccRED;
  28. CCMenuItemSprite*item3=[CCMenuItemSpriteitemFromNormalSprite:normalselectedSprite:selectedblock:^(idsender){
  29. NSLog(@"点击了图片按钮");
  30. //按顺序添加菜单项到菜单
  31. CCMenu*menu=[CCMenumenuWithItems:item1,item2,item3,nil];
  32. //让菜单居中
  33. CGSizewinSize=[CCDirectorsharedDirector].winSize;
  34. menu.position=ccp(winSize.width*0.5f,winSize.height*0.5f);
  35. //垂直方向排列菜单项,每个菜单项之间有30的垂直间距
  36. [menualignItemsVerticallyWithPadding:30];
  37. //添加菜单到图层中
  38. [selfaddChild:menu];
默认的效果

@H_70_301@

@H_70_301@

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

@H_70_301@

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

@H_70_301@

@H_70_301@

他CCMenuItem的用法都大同小异

@H_70_301@

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

感谢作者~!

猜你在找的Cocos2d-x相关文章