cocos2d-x-3.0rc1 学习笔记3(场景切换)
2014-04-11 20:46
471 查看
要想场景切换,就必须要先建立一个新的场景,或直接切换原场景,可以再菜单按钮的回调函数上实现
helloworld.h 中添加
helloworld.cpp 中添加
helloworld.h 中添加
class MyScene:public cocos2d::Scene { public: MyScene(); public: virtual void onEnter(); virtual void runThisTest(); void NextSceneCallback(Ref* pSender); void LastSceneCallback(Ref* pSender); }; class LayerPanda:public cocos2d::Layer { public: LayerPanda(); ~LayerPanda(); public: virtual void onEnter(); }; class LayerRabbit:public cocos2d::Layer { public: LayerRabbit(); ~LayerRabbit(); public: virtual void onEnter(); };
helloworld.cpp 中添加
LayerPanda::LayerPanda() { auto size = Director::sharedDirector()->getWinSize(); auto pSpritepanda = Sprite::create("panda.png"); pSpritepanda->setPosition(ccp(size.width/2,size.height/2)); addChild(pSpritepanda); } void LayerPanda::onEnter() { CCLayer::onEnter(); } LayerRabbit::LayerRabbit () { auto size =Director::sharedDirector()->getWinSize(); Sprite* pSpriteRabbit = Sprite::create("rabbit.png"); pSpriteRabbit->setPosition(ccp(size.width/2,size.height/2)); this->addChild(pSpriteRabbit); } LayerPanda::~LayerPanda() { } LayerRabbit ::~LayerRabbit () { } void LayerRabbit ::onEnter() { CCLayer::onEnter(); } MyScene::MyScene() { Scene::init(); MenuItemFont* item1 = MenuItemFont::create( "Next", this, menu_selector(MyScene::NextSceneCallback) ); MenuItemFont* item2 = MenuItemFont::create( "Last", this, menu_selector(MyScene::LastSceneCallback) ); auto s= Director::getInstance()->getVisibleSize(); Menu* menu = Menu::create( item1, item2, NULL ); item1->setPosition(s.width/3,s.height/3); item2->setPosition(s.width/3,s.height/3+30); menu->setPosition(CCPointZero); addChild( menu,1 ); } void MyScene::NextSceneCallback(Ref *pSender) { Scene* scene =new MyScene(); Layer* pLayer = new LayerRabbit(); scene->addChild(pLayer, 0); Director::sharedDirector()->pushScene(scene); scene->release(); pLayer->release(); } void MyScene::LastSceneCallback(Ref* pSender) { Scene* scene =new MyScene(); Layer* pLayer = new LayerPanda(); scene->addChild(pLayer, 0); Director::sharedDirector()->pushScene(scene); scene->release(); pLayer->release(); } void MyScene::onEnter() { Scene::onEnter(); } void MyScene::runThisTest() { Layer* pLayer = new LayerPanda(); addChild(pLayer); pLayer->release(); Director::sharedDirector()->replaceScene(this); }
相关文章推荐
- cocos2d-x-3.0rc1 学习笔记4(场景切换2)
- Cocos2d-x学习笔记(四)-------->场景切换
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第二十课:Cocos2D-X场景切换1-3
- IOS cocos2d学习笔记-<七>CCTransitionScene场景切换动画
- cocos2d-x学习笔记4 场景的切换
- Cocos2d-x学习笔记(五)实例——场景切换
- Cocos2d-x学习笔记(九)实例——场景自动切换
- Cocos2D-X学习笔记 3 从一个场景切换到还有一个场景
- cocos2d-x 菜鸟学习笔记四(游戏场景与场景切换)
- cocos2d-x学习笔记(3)场景切换
- Cocos2d-x学习笔记(八)场景切换原理分析
- cocos2d-x学习笔记(5)-- CCScene场景的切换
- cocos2d-x学习笔记04:CCScene场景切换
- cocos2d-x学习笔记(二)--场景切换
- 【Cocos2d-x 3.0学习笔记】场景切换
- cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍
- Cocos2d-lua学习笔记之场景跳转
- 【Cocos2D-X游戏开发笔记2】自定义场景及场景切换效果
- Cocos2d-x创建和转换场景学习笔记 分类: cocos2d代码编写 2015-07-27 17:38 8人阅读 评论(0) 收藏
- cocos2d-html5学习笔记(五)--菜单和场景转换