一、CCLayerMultiplex类能管理多个层,但不能同时激活多个层。用法大概这样。
CCLayer * pLayer1 = new CCPlayer(); CCLayer * pLayer2 = new CCPlayer(); CCLayerMultiplex * layer = CCLayerMultiplex::create(pLayer1, pLayer2, NULL); addChild(layer); pLayer1->release(); pLayer2->release();
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仅是测试了一下触摸,里面的简单都很简单,就不解释了。