美文网首页
Cocos2dx-2.x截屏不全问题处理

Cocos2dx-2.x截屏不全问题处理

作者: 雷尘子 | 来源:发表于2018-03-28 11:03 被阅读0次

    初始化渲染纹理

    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); 

    //设置位置       

    texture->setPosition(ccp(size.width/2, size.height/2)); 

    //开始获取       

    texture->begin(); 

    //遍历场景节点对象,填充纹理到texure中   

    CCDirector::sharedDirector()->getRunningScene()->visit(); 

    //结束获取   

    texture->end(); 

    //保存为png图,Win32/Debug目录下

    texture->saveToFile("screenshot.png", kCCImageFormatPNG); 

    //保存为jpg图,Win32/Debug目录下

    //texture->saveToFile("screenshot.jpg", kCCImageFormatJPEG);

    获取存储截图的根路径:(在安卓和iOS下具体路径不同,但可用此方法获取)

    CCFileUtils::sharedFileUtils()->getWritablePath();

    相关文章

      网友评论

          本文标题:Cocos2dx-2.x截屏不全问题处理

          本文链接:https://www.haomeiwen.com/subject/skrycftx.html