quick 3.3 截屏

voidCaptureScreenTest::onCaptured(Ref*)

{

Director::getInstance()->getTextureCache()->removeTextureForKey(_filename);

removeChildByTag(childTag);

_filename="CaptureScreenTest.png";

utils::captureScreen(CC_CALLBACK_2(CaptureScreenTest::afterCaptured,this),_filename);

}

voidCaptureScreenTest::afterCaptured(boolsucceed,conststd::string& outputFile)

{

if(succeed)

{

autosp =Sprite::create(outputFile);

addChild(sp,0,childTag);

Sizes =Director::getInstance()->getWinSize();

sp->setPosition(s.width/2, s.height/2);

sp->setScale(0.25);

_filename= outputFile;

}

else

{

log("Capture screen failed.");

}

}

上面是Cocos引擎中C++的截屏实现方法


在display.lua 源文件中有这个接口  直接调用就可以实现截屏了

--------------------------------

-- 截屏并保存为一个文件

-- @function [parent=#display] captureScreen

-- @param function callback 截屏的回调函数

-- @param string fileName 保存的文件, 绝对路径就直接保存, 只有文件名会保存在writePath下

截屏:

display.captureScreen(

function (bSuc, filePath)

--bSuc 截屏是否成功

--filePath 文件保存所在的绝对路径

end, "screen.png")

你可能感兴趣的:(quick 3.3 截屏)