现在的位置: 首页 > 综合 > 正文

初学试试看cocos2dx的TestCPP框架(11)—MenuTestScene

2014年09月06日 ⁄ 综合 ⁄ 共 1546字 ⁄ 字号 评论关闭

一、CCLayerMultiplex类能管理多个层,但不能同时激活多个层。用法大概这样。

CCLayer * pLayer1 = new CCPlayer();
CCLayer * pLayer2 = new CCPlayer();

CCLayerMultiplex * layer = CCLayerMultiplex::create(pLayer1, pLayer2, NULL);
addChild(layer);

pLayer1->release();
pLayer2->release();

二、MenuLayerMainMenu里面创建了所有的菜单。cocos里面常用的创建菜单类。

CCMenuItemSprite:用CCSprite创建菜单

CCMenuItemImage:直接用png来创建菜单

CCMenuItemLabel:用建好的CCLableAtlas创建菜单 (这里注意一下,最后一个参数startCharMap是指图片中第一个字符的ascii码)。

                                     因为参数要求是CCNode*,所以 也可以用CCLabelBMFont来创建。菜单也可以调用setScale(2.0f)等来设置大小。

CCMenuItemFont:直接用字符串创建菜单

这里新出现一个上色的动作类,CCTintBy,这个能给字体加上很漂亮的色彩。CCTintBy::create(0.5f, 0, -255, -255);

代码里面利用getChildren()返回一个CCARRAY指针,然后利用CCARRAY_FOREACH循环遍历,安排好菜单位置,设置了CCEaseElasticOut动作,

CCEaseElasticOut是很好的动作类,运行起来很好看。

三、MenuLayer2类里面利用CCMenuItemImage创建了6个按钮,然后调用alignMenusH()调整菜单位置,第一个按钮使用m_pParent调用switchTo(0)

返回第一个层。

四、Menulayer3里面分别用3种方法创建菜单,

CCMenuItemSprite创建的菜单,点击时候不会停止动作。

CCMenuItemLabel、CCMenuItemFont创建的菜单,点击时候会停止当前进行的动作。

全部的菜单,都可以调用stopAllActions()来停止当前进行的动作。

五、Menulayer4里面新出现一种菜单

CCMenuItemToggle菜单,他可以直接一步创建好多选项的菜单。

CCMenuItemToggle::createWithTarge(this, memu_selector(xxx), CMenuItemFont::create("High"), CMenuItemFont::create("Low“), NULL);

后期也可以用getSubItems()->addObject( CCMenuItemFont::create("33%”));等等。。

也能设置默认选择的项,setSelectIndex(2);

这里CCMenu项,有一个新的方法,alignItemsInColumns(2, 2, 2, 2, 1, NULL);

六、MenuLayerPriorityTest构造函数里面先建立空菜单的指针,这个和以前见到的有点不一样。

CMenu::create(),然后addChild(item1),当2个菜单重叠在一起的时候,后增加到层的菜单生效,代码里面也用setHandlerPriority来设置菜单的优先级。

数据越大优先级越低,函数回调函数也利用到CCDelayTiem来延时。CCCallFunc来创建一个回调的动作。

七、BugsTest仅是测试了一下触摸,里面的简单都很简单,就不解释了。

抱歉!评论已关闭.