Evankaka2015-01-2110:11:203020次阅读本文要实现游戏中的暂停、重新开始。将当前界面截图,然后用这张图去构造一个层(以这张图为背景),然后加个按钮,主界面点暂停时,pushScene(),然后转到游戏暂停界面,e()。在Cocos2d-x中推进(pushScene())暂停场景,之前运行的场景将会自动暂停,然后我们可以在暂停场景中操作,当我们不再需要暂停场景时,可以popScene()将暂停场景弹出。重新开始游戏直接replaceScene()。Cocos2d-x版本::Windows7+VS2010打开方式:将工程放在Cocos2d-x安装目录下的project文件夹下用VS打开本文效果:一、游戏暂停界面初步实现思路:将当前界面截图,然后用这张图去构造一个层(以这张图为背景),然后加个按钮,主界面点暂停时,pushScene(),然后转到游戏暂停界面,e()。首先看看自定义的游戏暂停的层:#ifndef __Gamepause__H__ #define __Gamepause__H__ #include "" ; class Gamepause : public cocos2d::CCLayer { public: virtual bool init(); static cocos2d::CCScene* RenderTexture* sqr); CREATE_FUNC(Gamepause); //继续游戏 void Object* pSender); private: }; #endif // __Gamepause_H__然后是实现文件#include "" //renderTexture //相当于一个正在运行的游戏的截图作为这个暂停对话框的背景 //这样就看起来像是对话框在游戏界面之上,一般游戏当中都是这样子写的。 CCScene* Gamepause::RenderTexture* sqr) { CCScene *scene = CCScene::create(); Gamepause *layer = Gamepause::create(); scene->addChild(layer,1); //增加部分:使用Game界面中截图的sqr纹理图片创建Sprite //并将Sprite添加到GamePause场景层中 //得到窗口的大小 CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCSprite *back_spr = CCSprite::createWithTexture(sqr->getSprite()->getTexture()); back_spr->p(,)); //放置位置,这个相对于
html5游戏开发—Cocos2d-x游戏暂停、继续游戏、重新开始界面的实现--之游戏开发《赵云要格斗》(10) 来自淘豆网www.taodocs.com转载请标明出处.