cocos2d-x-2.1.3 中实现游戏的简单暂停与恢复
2013-09-19 01:13
441 查看
原理
cocos2d-x 中有个简单的实现游戏的暂停与恢复,就是利用pushScene 和popScene,当调用pushScene的时候,系统会自动将之前的scene给暂停。然后我们就可以在暂停的scene中操作了。实现这个暂停scene的时候可以利用CCRenderTexture做出一点特效(相当于透明暂停,可以看到上一个scene的截图)。CCRenderTexture这个具体的用法可以看帮助手册或者google。下面是演示代码
//暂停回调 void MainMenuLayer::pauseLogicCallback(CCObject *pSender) { //这里是把前一个scene截个图传到下一个scene作为背景 CCRenderTexture *renderTexture = CCRenderTexture::create(getWinSize().width,getWinSize().height); renderTexture->begin(); this->getParent()->visit(); renderTexture->end(); //这里加入push特效 CCDirector::sharedDirector()->pushScene( CCTransitionFade::create( 0.5f, PauseLayer::scene(renderTexture,true))); }
这里跳转到下一个scene
CCScene *PauseLayer::scene(CCRenderTexture* sqr,bool isFlip) { CCScene *sc = NULL; do{ sc = CCScene::create(); CC_BREAK_IF(!sc); CCSize size = CCDirector::sharedDirector()->getWinSize(); CCSprite *_spr = CCSprite::createWithTexture(sqr->getSprite()->getTexture()); _spr->setPosition(ccp(size.width/2, size.height/2)); _spr->setFlipY(isFlip); _spr->setColor(ccGRAY); sc->addChild(_spr); PauseLayer *layer = PauseLayer::create(); CC_BREAK_IF(!layer); sc->addChild(layer); }while(0); return sc; }
效果图
图1
完整实例
百度网盘:http://pan.baidu.com/share/link?shareid=2380523568&uk=2684847550相关文章推荐
- Cocos2d-x简单游戏<植物大战僵尸>代码实现|第九部分:游戏场景GameScene.h<后续会提供源码下载链接>
- Cocos2d-x简单游戏<打飞机>代码实现|第二部分:子弹类
- Cocos2d-x简单游戏<捕鱼达人>代码实现|第五部分:游戏类
- Cocos2d-x简单游戏<植物大战僵尸>代码实现|第九部分:游戏场景GameScene.cpp<后续会提供源码下载链接>
- Cocos2d-x 用cocos2d-x实现MoonWarriors(暂停和恢复的实现)(转)
- 实现游戏暂停与恢复功能
- Cocos2d-x简单游戏<打飞机>代码实现|第三部分:引导层
- cocos2d-x游戏暂停和恢复
- Cocos2d-x简单游戏<植物大战僵尸>代码实现|第一部分:开始场景<后续会提供源码下载链接>
- cocos2d-x游戏暂停和恢复
- Cocos2d-x简单游戏<打飞机>代码实现|第四部分:主场景<Helloworld.h>
- Cocos2d-x简单游戏<植物大战僵尸>代码实现|第二部分:菜单场景<后续会提供源码下载链接>
- cocos2d-x 游戏暂停和恢复,还可以屏蔽下层按钮触发
- Cocos2d-x 中游戏暂停与恢复
- Cocos2d-x学习(十四):用cocos2d-x实现MoonWarriors(暂停和恢复的实现)
- cocos2d-x简单游戏<打飞机>代码实现|第四部分:主场景<Helloworld.m>
- Cocos2d-x简单游戏<植物大战僵尸>代码实现|第三部分:通关场景<后续会提供源码下载链接>
- Cocos2d-x简单游戏<植物大战僵尸>代码实现|第四部分:通关失败场景<后续会提供源码下载链接>
- cocos2d游戏暂停页面的实现
- Cocos2d-x简单游戏<捕鱼达人>代码实现|第一部分:鱼类