欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

cocos2dx简单切换场景

程序员文章站 2022-06-14 13:40:49
...
//在helloWorld中添加两个类
class MyScene:public CCScene  
{  
public:  
    //构造函数  
    MyScene();  
    //析构函数  
    ~MyScene();  
};  
  
class MyLayer:public CCLayer  
{  
public:  
    //构造函数  
    MyLayer();  
    //析构函数  
    ~MyLayer();  
};

然后在HelloWorld.cpp文件中添加两个类构造函数和析构函数的实现

MyScene::MyScene()  
{  
  
}  
MyScene::~MyScene()  
{  
  
}  
MyLayer::MyLayer()  
{  
    //获得屏幕的大小  
    CCSize size = CCDirector::sharedDirector()->getWinSize();  
  
    //创建一行文本并设置位置在屏幕中间  
    CCLabelTTF* label = CCLabelTTF::create("This is MyScene.", "Arial",30);  
    label->setPosition(ccp(size.width/2,size.height/2));  
    //将这行文本添加到布景中  
    addChild(label);  
}  
MyLayer::~MyLayer()  
{  
  
}


修改之前写的图片菜单的回调函数menuCloseCallback(),修改结果如下:

void HelloWorld::menuCloseCallback(CCObject* pSender)  
{  
    //实例化一个场景MyScene  
    CCScene* scene=new MyScene();  
    //实例化一个布景MyLayer  
    CCLayer* layer=new MyLayer();  
    //将布景添加到场景中  
    scene->addChild(layer,0);  
  
    //运行新创建的这个场景,并设置过渡效果(此处为淡入淡出)  
    CCDirector::sharedDirector()->replaceScene( CCTransitionFade::create(2, scene));  
    //释放  
    layer->release();  
    scene->release();  
}



转载于:https://my.oschina.net/u/1264926/blog/202475