如何在 cocos2dx 3.3 中截取场景的屏幕截图

How to take screenshot of the scene in cocos2dx 3.3?

本文关键字:屏幕截图 截取 cocos2dx      更新时间:2023-10-16

我正在开发一个游戏,我想拍摄场景屏幕截图。在 cocos2dx 3.3 中怎么可能?请告诉我

我的代码如下

    CCSize screenSize = CCDirector::sharedDirector()->getWinSize();
    CCRenderTexture * tex = CCRenderTexture::create(screenSize.width, screenSize.height);
    tex->setPosition(ccp(screenSize.width/2, screenSize.height/2));
    tex->begin();
    this->getParent()->visit();
    tex->end();
    tex->saveToFile("Image_Save.png", kCCImageFormatPNG);

使用这个

utils::captureScreen( CC_CALLBACK_2(GameScene::afterCaptured, this), "screenshot.png");
//callback function
void GameScene::afterCaptured(bool succeed, const std::string &outputFile)
{    
    if (succeed) {
        log(" screen shot%s", outputFile.c_str());
    }
} 

只需替换

tex->saveToFile("Image_Save.png", Image::Format::PNG); 

而不是

tex->saveToFile("Image_Save.png", kCCImageFormatPNG);

它肯定会帮助你