cocos2d-x基础类之CCScene类

来源:互联网 发布:淘宝店被占用了怎么办 编辑:程序博客网 时间:2024/04/28 13:28

原文档说明:CCScene是CCNode的子类,这是一个抽象的概念.CCScene与CCNode的唯一不同是CCScene的锚点在屏幕的中心。目前CCScene还没有其他的逻辑,但在未来他可能拥有增加的逻辑,使用CCScene作为你所有节点的父节点会是一个好习惯。

游戏场景类,可以把它想象成一个一个的界面,可以认为是Android组件中的Activity。由于它是一个没有实现逻辑的父类,编程中用的最多的是其子类CCTransitionScene和该类的子类(实现各个切换效果的类)。其继承关系如下:

开发中我们一般设置一个scene基类,添加一些虚函数。游戏的各个场景类继承该基类,在各个场景中,创建多个CCLayer类,添加到场景类中,完成一个游戏场景的创建。场景类是一个场景的主节点,即parent。示例代码如下(可参见cocos2d-x目录中的例子testcpp):
void TestLayer2::restartCallback(CCObject* pSender){    //创建场景    CCScene* s = new TransitionsTestScene();    //创建层    CCLayer* pLayer = new TestLayer1();    //将层添加到场景中    s->addChild(pLayer);    //用上面的场景创建一个带有切换效果的层    CCScene* pScene = createTransition(s_nSceneIdx, TRANSITION_DURATION, s);    //释放原来的场景和层    s->release();    pLayer->release();    //如果带有转换效果的场景创建成功    if (pScene)    {        //则进行场景切换        CCDirector::sharedDirector()->replaceScene(pScene);    }}

以后我将会慢慢学习和分析官方示例的TestCpp项目。

0 0