转载,原文地址:http://blog.csdn.net/qq634416025/article/details/8739780
根据cocos2d-x游戏原理当home键或者锁屏键被按下,游戏处于后台状态就会调用AppDelegate.cpp里面的方法applicationDidEnterBackground()
其实按照这个方法的意思就可以知道到底是怎么回事了。所以我们就在这个方法内部写自己的东西。
首先,我说一下原理, 自己写了一个Dialog 模态对话框(这个可以搜到), 然后写了自己写了一个方法
- CCScene*PauseLayer::scene(CCRenderTexture*sqr,boolisFlip)
- {
- CCScene*scene=CCScene::create();
- CCSizesize=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);
- scene->addChild(_spr);
- PauseLayer*layer=PauseLayer::create();
- scene->addChild(layer);
- returnscene;
- }
传入一个CCrenderTexture 相当于一个正在运行的游戏的截图作为这个暂停对话框的背景 这样就看起来像是对话框在游戏界面之上,一般游戏当中都是这样子写的。
在applicationDidEnterBackground()里面这样写:
copy