cocos2D(八)---- CCMenu && CCMenuItem,cocos2d----ccmenu

  次阅读 作者:智能小宝 来源:互联网 2015-09-28 15:28 我要评论(0)

cocos2D(八)---- CCMenu && CCMenuItem,cocos2d----ccmenu

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

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

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

下面直接上代码

[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, 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];

默认的效果图

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...