些菜单项让用户開始游戏、暂停\继续游戏、打开\关闭音乐或者是返回到上一个界面,比方以下两张图中用红色线框标记的菜单项
我们能够使用CCMenu和CCMenuItem实现上述的菜单功能,CCMenu继承自CCLayer。仅仅能加入CCMenuItem为子节点。一个CCMenuItem就能够表示一个菜单项。
CCMenuItem继承自CCNode。来看下它的继承结构
以下直接上代码
-
-
-
[CCMenuItemFont setFontSize:50];
-
CCMenuItemFont *item1 = [CCMenuItemFont itemFromString:@"文字菜单" block:^(id sender) {
-
NSLog(@"点击了文字菜单");
-
}];
-
-
item1.color = ccc3(255, 255, 0);
-
-
-
-
[CCMenuItemFont setFontName:@"Courier New"];
-
[CCMenuItemFont setFontSize:40];
-
-
CCMenuItemFont *on = [CCMenuItemFont itemFromString:@"On"];
-
on.color = ccc3(0, 255, 255);
-
-
CCMenuItemFont *off = [CCMenuItemFont itemFromString:@"Off"];
-
off.color = ccc3(255, 0, 0);
-
CCMenuItemToggle *item2 = [CCMenuItemToggle itemWithBlock:^(id sender) {
-
NSLog(@"切换了开关状态");
-
} items:on, off, nil];
-
-
-
-
CCSprite *normal = [CCSprite spriteWithFile:@"lufy.png"];
-
-
CCSprite *selected = [CCSprite spriteWithFile:@"lufy.png"];
-
selected.color = ccRED;
-
CCMenuItemSprite *item3 = [CCMenuItemSprite itemFromNormalSprite:normal selectedSprite:selected block:^(id sender) {
-
NSLog(@"点击了图片button");
-
}];
-
-
-
CCMenu *menu = [CCMenu menuWithItems:item1, item2, item3, nil];
-
-
CGSize winSize = [CCDirector sharedDirector].winSize;
-
menu.position = ccp(winSize.width * 0.5f, winSize.height * 0.5f);
-
-
[menu alignItemsVerticallyWithPadding:30];
-
-
-
[self addChild:menu];
默认的效果图
单击中间的青色的"On"后,变为了红色的off
长按以下的头像后,头像变为红色
其他CCMenuItem的使用方法都大同小异
原文地址:http://blog.csdn.net/q199109106q/article/details/8604273
感谢作者~!