屏幕截图
void FirstScene::EndSceneFun()
{
CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("res/sfx_hit.wav");
//得到窗口的大小
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCRenderTexture *renderTexture = CCRenderTexture::create(visibleSize.width,visibleSize.height);
//遍历当前类的所有子节点信息,画入renderTexture中。
//这里类似截图。
renderTexture->begin();
this->getParent()->visit();
renderTexture->end();
int intkey = UserDefault::getInstance()->getIntegerForKey("key");
//UserDefault::getInstance()->setIntegerForKey("key", m_score);
//将游戏界面暂停,压入场景堆栈。并切换到GamePause界面
CCDirector::sharedDirector()->pushScene(EndScene::createScene(renderTexture));
}
Scene* EndScene::createScene(CCRenderTexture* sqr,int score) {
CCScene *scene = CCScene::create();
EndScene *layer = EndScene::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->setPosition(ccp(visibleSize.width/2,visibleSize.height/2)); //放置位置,这个相对于中心位置。
back_spr->setFlipY(true); //翻转,因为UI坐标和OpenGL坐标不同
back_spr->setColor(Color3B(192,192,192)); //图片颜色变灰色
scene->addChild(back_spr);
return scene;
}
void FirstScene::EndSceneFun()
{
CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("res/sfx_hit.wav");
//得到窗口的大小
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCRenderTexture *renderTexture = CCRenderTexture::create(visibleSize.width,visibleSize.height);
//遍历当前类的所有子节点信息,画入renderTexture中。
//这里类似截图。
renderTexture->begin();
this->getParent()->visit();
renderTexture->end();
int intkey = UserDefault::getInstance()->getIntegerForKey("key");
//UserDefault::getInstance()->setIntegerForKey("key", m_score);
//将游戏界面暂停,压入场景堆栈。并切换到GamePause界面
CCDirector::sharedDirector()->pushScene(EndScene::createScene(renderTexture));
}
Scene* EndScene::createScene(CCRenderTexture* sqr,int score) {
CCScene *scene = CCScene::create();
EndScene *layer = EndScene::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->setPosition(ccp(visibleSize.width/2,visibleSize.height/2)); //放置位置,这个相对于中心位置。
back_spr->setFlipY(true); //翻转,因为UI坐标和OpenGL坐标不同
back_spr->setColor(Color3B(192,192,192)); //图片颜色变灰色
scene->addChild(back_spr);
return scene;
}