Cocos2dx 截屏功能 3.2以上版本

本文转载:http://www.areskill.com/?p=356
Cocos2d-x 截屏 3.2以上版本

使用utils::captureScreen 截屏,然后回调

auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = [this](Touch *touch,Event *event){
    capture(nullptr);
    return false;
};
Director::getInstance()->getEventdispatcher()->addEventListenerWithSceneGraPHPriority(listener,this);

//屏幕截图
void HelloWorld::capture(Ref* sender) {
    log("ScreenShot");
    utils::captureScreen(CC_CALLBACK_2(HelloWorld::afterCapture,this),"ScreenShot.png");
}

//截图后执行afterCapture
void HelloWorld::afterCapture(bool succeed,const std::string& outputFile) {
    if (succeed) {
        log("%s",outputFile.c_str());
        //显示截图
        Sprite* sp = Sprite::create(outputFile);
        Size visibleSize = Director::getInstance()->getVisibleSize();
        Vec2 origin = Director::getInstance()->getVisibleOrigin();

        sp->setPosition(Vec2(visibleSize.width/2+origin.x,visibleSize.height/2+origin.y));
        this->addChild(sp);
        sp->setScale(0.5); //放缩
    }
    else {
        log("Capture screen Failed.");
    }
}

原文地址:http://www.areskill.com/?p=356

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...