IOS cocos2d学习笔记-<四>Menu&MenuItem
来源:互联网 发布:淘宝订单信息编辑 编辑:程序博客网 时间:2024/05/19 14:18
(本文写作基于千锋3g学院提供的第三季讲授视频编写,更多资料和资源下载地址请看笔记扉页:传送门)
看一下图先。
今天我们进入到游戏开始页面,用到菜单栏CCMenu
终于有个可以碰的东西了,感觉有点摩拳擦掌了对吧?
CCMenu的用处挺广泛的,可设置的东西也地方也很多,我们这里写写基本的用法。
首先我们要了解几个类的继承关系:
(取自原教学视频)
我们今天的重点是:
CCMenuItem
CCMenuItemFont
CCMenuItemSprite
CCMenuItemImage
CCMenu(继承于CCLayer)
总结一下这几个类的使用关系和相应创建和设置方法
(文字打出来发表之后会变样,还是用图片吧。。)
总体来说菜单(CCMenu)里面可以加入纯字体(CCMenuItemLabel)以及图片(CCMenuItemSprite)两种菜单选项(CCMenuItem)
然后是关于CCMenu的设置:
1-注意+(id)menuWithItems:方法可以一次插入多个CCMenuItem对象,最后必须以nil作为结束:
如:[CCMenu menuWithItems: CCMenuItem1, CCMenuItem2, ....., nil ];
2-(void) setPosition:设置位置
3.如果菜单仲插入多个选项,则需要设置排列方式,水平排列或者是竖直排列。
-(void) alignItemsHorizontally(WithPadding:)
-(void) alignItemsVertically(WithPadding:)
里面的Padding是Items之间的间隔。
4.最后加入到场景或者图层当中,使用CCNode的方法-(void) addChild:
这就可以创建一个可以按的按钮菜单了。
其中说明一下CCMenuItemSprite中的一些使用问题:
我们看到+(id)itemFromNormalSprite:(CCNode<CCRBGAProtocol> *)
selectedSprite:(CCNode<CCRBGAProtocol> *)
target:self
selector:(SEL)
这个方法里面的(CCNode<CCRBGAProtocol>*)这个参数类型,这里是使用了一些关于着色的代理,我们只需要给它传进一个CCSprite对象就可以了
selectedSprite:选择时显示的图片,可为空nil。但有一点要注意的是,你不可以重复使用已经使用在NormalSprite作为参数的CCSprite对象,你必须为这两个参数分别创建两个CCSprite对象。
为了按起来有点动感,本人用同一张图片创建了两个大小不一样的两个CCSprite对象作为开始按钮的两个参数。这里就出现一个问题了,之前所说过的一个锚点貌似在这里没有发挥作用,当我点击菜单按钮时,图片的确是变大了,但它的锚点始终在cpp(0, 0)处,以致于变大之后很不自然地“走位”了。之后我就把后面的图缩放的比例调到1.03,勉强还可以看一下。= =现在还在纠结中。
最后贴一篇详解文章:这里这里
- IOS cocos2d学习笔记-<四>Menu&MenuItem
- cocos2d x3.3 Menu、MenuItem等相关
- Java中Synth外观学习(十一)--Menu及MenuItem的定制
- cocos2d-x 3.x学习之MenuItem
- cocos2d-x 菜鸟学习笔记六(界面控件之MenuItem)
- Menu和MenuItem
- IOS cocos2d学习笔记-扉页
- C# Menu中共享MenuItem
- Java.MenuBar.Menu.MenuItem.CheckboxMenuItem
- Cocos2d-x之MenuItem
- Cocos2d-x之MenuItem
- 菜鸟学习Cocos2d之 Menu
- 《Cocos2d学习之路》四,播放音乐与音效以及Menu的学习使用
- cocos2d-x学习笔记(四)动作(Action)
- cocos2d-x+cocosbuilder 学习笔记 (四)
- IOS cocos2d学习笔记-<五>CCAction精灵运动
- IOS cocos2d学习笔记-<六>CCParticalSystem粒子效果
- IOS cocos2d学习笔记-<七>CCTransitionScene场景切换动画
- 杭电2058-The sum problem
- C#怎么判断一个Socket是否连接
- 线程钩子
- 杭电ACM1532(最大流)
- Database common commands
- IOS cocos2d学习笔记-<四>Menu&MenuItem
- poj 1026
- poj 2154
- poj 1204
- ios 设置UITableViewcell透明
- poj 3128
- poj 3368
- 十个利用矩阵乘法解决的经典题目
- poj 1815