初始化渲染紋理
1. CCRenderTexture::create((int)size.width, (int)size.height);
2. CCRenderTexture::create((int)size.width, (int)size.height, kCCTexture2DPixelFormat_RGBA8888);
以上兩種方式都可能造成截屏不全,因為使用了滾動層UIScrollView,效果如下:

使用下面的初始化方式可以解決:
CCRenderTexture* texture = CCRenderTexture::create((int)size.width, (int)size.height, kCCTexture2DPixelFormat_RGBA8888,0x88F0);?
具體截屏方法如下:
//獲取屏幕尺寸
CCSize size = CCDirector::sharedDirector()->getWinSize();?
//定義一個屏幕大小的渲染紋理
CCRenderTexture* texture = CCRenderTexture::create((int)size.width, (int)size.height, kCCTexture2DPixelFormat_RGBA8888,0x88F0);?
//設(shè)置位置? ? ? ?
texture->setPosition(ccp(size.width/2, size.height/2));?
//開始獲取? ? ? ?
texture->begin();?
//遍歷場景節(jié)點對象,填充紋理到texure中? ?
CCDirector::sharedDirector()->getRunningScene()->visit();?
//結(jié)束獲取? ?
texture->end();?
//保存為png圖,Win32/Debug目錄下
texture->saveToFile("screenshot.png", kCCImageFormatPNG);?
//保存為jpg圖,Win32/Debug目錄下
//texture->saveToFile("screenshot.jpg", kCCImageFormatJPEG);
獲取存儲截圖的根路徑:(在安卓和iOS下具體路徑不同,但可用此方法獲?。?/p>
CCFileUtils::sharedFileUtils()->getWritablePath();