cocos2D(八)---- 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的用法都大同小異


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

感謝作者~!

發佈了27 篇原創文章 · 獲贊 3 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章