android menu 间距,八、CCMenu和CCMenuItem

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

56540bee7eb86be2216dda74750091d6.png

68c956c858a1f5532b46ccc83b2e409e.png

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

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

0f1d4f625a4aaaedd144edba7099d82a.png

下面直接上代码

[java] view

plaincopy

// 第一个菜单项:CCMenuItemFont

// 设置文字大小

[CCMenuItemFont setFontSize:50];

CCMenuItemFont *item1 = [CCMenuItemFont itemFromString:@"文字菜单" block:^(id sender) {

NSLog(@"点击了文字菜单");

}];

// 文字为黄色

item1.color = ccc3(255, 255, 0);

// 第二个菜单项:CCMenuItemToggle

// 重新设置字体和大小

[CCMenuItemFont setFontName:@"Courier New"];

[CCMenuItemFont setFontSize:40];

// on为青色

CCMenuItemFont *on = [CCMenuItemFont itemFromString:@"On"];

on.color = ccc3(0, 255);

// off为红色

CCMenuItemFont *off = [CCMenuItemFont itemFromString:@"Off"];

off.color = ccc3(255, 0, 0);

CCMenuItemToggle *item2 = [CCMenuItemToggle itemWithBlock:^(id sender) {

NSLog(@"切换了开关状态");

} items:on, off, nil];

// 第三个菜单项:CCMenuItemSprite

// 默认的精灵

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

}];

// 按顺序添加菜单项到菜单中

CCMenu *menu = [CCMenu menuWithItems:item1, item2, item3, nil];

// 让菜单居中

CGSize winSize = [CCDirector sharedDirector].winSize;

menu.position = ccp(winSize.width * 0.5f, winSize.height * 0.5f);

// 垂直方向排列菜单项,每个菜单项之间有30的垂直间距

[menu alignItemsVerticallyWithPadding:30];

// 添加菜单到图层中

[self addChild:menu];

默认的效果图

4e136d1328e5fcb252a6764cfbf8ee11.png

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

4d5d3412befa9c4375a9817741a2fd5f.png

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

3a447a9445c416bbfd76804962cc7bf3.png

其他CCMenuItem的用法都大同小异

转载地址:点击打开链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值