Cocos2dx基礎之CCRenderTexture截圖保存並使用的實現


1.CCRenderTexture

CCRenderTexture是一個通用渲染對象,可以通過構建一個CCRenderTexture對象,進而把要渲染的東西填充進去,在渲染開始前調用call函數,調用cocos的場景的visit函數對其進行渲染,渲染結束后調用end函數。CCRenderTexture繼承於CCNode,所以可以簡單地把渲染紋理添加到你的場景中,就像處理其它cocos中的節點一樣,當然它還提供了保存功能,可以把渲染紋理保存為PNG或JPG格式。


void GameLayer::CatchScreen()

{
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCRenderTexture* screen = CCRenderTexture::create(size.width, size.height);
CCScene* temp = CCDirector::sharedDirector()->getRunningScene();
screen->begin();
temp->visit();

screen->end();

       //保存截圖

if(screen->saveToFile("cocos2d-x-screenshot.png", kCCImageFormatPNG))
{
CCMessageBox("Print Screen OK!", "Hit");
}

 

//使用截圖

CCSprite* pic = CCSprite::createWithTexture(screen->getSprite()->getTexture());
pic->setPosition(ccp(100, 100));
pic->setScale(0.5);
addChild(pic, 100);

CC_SAFE_DELETE(screen);
}

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com