Cocos2d-X 学习笔记 18 CCLayerMultiplex管理多个层
2014-10-27 11:12
363 查看
cocos2d-x中提供了CClayerMultiplex类(派生自CClayer),它可以管理多个层,并实现不同层间的切换,但是同一时间只能有一个层是激活状态,其他都是不可见的
添加层进行管理
[cpp] view
plaincopy
static CCLayerMultiplex * create(CCLayer* layer, ... );
切换不同层
[cpp] view
plaincopy
// 切换到指定层
void switchTo(unsigned int n);
//切换到指定层,并释放当前层
void switchToAndReleaseMe(unsigned int n)
不过这货的缺点也很明显:功能有限,不能实现不同层之间切换的过渡效果
在cocos2d-x体重的实例:TestCpp中MenuTest中使用了CClayerMultiplex
[cpp] view
plaincopy
// 添加需要管理的层
void MenuTestScene::runThisTest()
{
CCLayer* pLayer1 = new MenuLayerMainMenu();
CCLayer* pLayer2 = new MenuLayer2();
CCLayer* pLayer3 = new MenuLayer3();
CCLayer* pLayer4 = new MenuLayer4();
CCLayer* pLayer5 = new MenuLayerPriorityTest();
CCLayer* pLayer6 = new BugsTest();
CCLayerMultiplex* layer = CCLayerMultiplex::create(pLayer1, pLayer2, pLayer3, pLayer4, pLayer5, pLayer6, NULL);
addChild(layer, 0);
......
CCDirector::sharedDirector()->replaceScene(this);
}
// 切换层
void MenuLayerPriorityTest::menuCallback(CCObject* pSender)
{
((CCLayerMultiplex*)m_pParent)->switchTo(0);
}
添加层进行管理
[cpp] view
plaincopy
static CCLayerMultiplex * create(CCLayer* layer, ... );
切换不同层
[cpp] view
plaincopy
// 切换到指定层
void switchTo(unsigned int n);
//切换到指定层,并释放当前层
void switchToAndReleaseMe(unsigned int n)
不过这货的缺点也很明显:功能有限,不能实现不同层之间切换的过渡效果
在cocos2d-x体重的实例:TestCpp中MenuTest中使用了CClayerMultiplex
[cpp] view
plaincopy
// 添加需要管理的层
void MenuTestScene::runThisTest()
{
CCLayer* pLayer1 = new MenuLayerMainMenu();
CCLayer* pLayer2 = new MenuLayer2();
CCLayer* pLayer3 = new MenuLayer3();
CCLayer* pLayer4 = new MenuLayer4();
CCLayer* pLayer5 = new MenuLayerPriorityTest();
CCLayer* pLayer6 = new BugsTest();
CCLayerMultiplex* layer = CCLayerMultiplex::create(pLayer1, pLayer2, pLayer3, pLayer4, pLayer5, pLayer6, NULL);
addChild(layer, 0);
......
CCDirector::sharedDirector()->replaceScene(this);
}
// 切换层
void MenuLayerPriorityTest::menuCallback(CCObject* pSender)
{
((CCLayerMultiplex*)m_pParent)->switchTo(0);
}
相关文章推荐
- Objective-C 学习笔记18 内存管理
- cocos2d-x学习笔记(18)--游戏打包(windows平台)
- cocos2d-x学习笔记18:内存管理01:概述
- cocos2d-x学习笔记(2)在同一个工程里创建多个Cocos2d-x项目
- UNIX环境编程学习笔记(18)——进程管理之进程控制三部曲
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》 第六步--金币&岩石加入而且管理
- 【Cocos2d-X开发学习笔记】第19期:动作管理类(CCActionManager)的使用
- cocos2d-x学习笔记(18)--游戏打包(windows平台)
- cocos2d-x 3.1.1 学习笔记[18] Sprite创建之旅
- python 制作图表 matplotlib - 千月的python linux 系统管理指南学习笔记(18)
- cocos2d-x学习笔记18:内存管理01:概述
- Spring学习笔记(18)----使用Spring配置文件实现事务管理
- Cocos2d-X 学习笔记 18 Cocos2dx 下对sqlite3 的简单封装
- Cocos2d-x学习笔记(18)(TestCpp源代码分析-2)
- cocos2d-x学习笔记(18)--游戏打包(windows平台)
- Cocos2dx 学习笔记29 CCLayerMultiplex管理多个层
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》 第六步--金币&岩石添加并且管理
- Cocos2d-x学习笔记(18)(TestCpp源码分析-2)
- cocos2d-x学习笔记18:内存管理01:概述
- 【Cocos2d-X开发学习笔记】第19期:动作管理类(CCActionManager)的使用