截图功能
var size = cc.director.getWinSize();
var width = size.width;
var height = size.height;
//添加截图功能
var renderTexture =new cc.RenderTexture(parseInt(width) , parseInt(height) , cc.Texture2D.PIXEL_FORMAT_RGBA8888);
renderTexture.setPosition(size.width / 2, size.height / 2);
renderTexture.begin(); //开始抓屏
this.mCurrenTopicLayout.visit(); //遍历当前场景Scene的所有子节点信息,画入screen中
renderTexture.end(); //结束抓屏
var imageUrl = "topic_" + mTopicLayerSelf.mTopicPos + ".png";
//将图片保存到运行设备中
var result = renderTexture.saveToFile(imageUrl);
//将截图的缓存清理掉。否则会造成 下次截图的时候 会将上次的截图一并截取出来
renderTexture.cleanup();
//拿到图片缓存的路径
var imgPath = jsb.fileUtils.getWritablePath();
if (imgPath.length == 0) {
return;
}
if (result) {
imgPath += imageUrl;
}
//删除本地的图片
jsb.fileUtils.removeFile(imgPath,function () {
cc.log("删除图片");
});
删除本地截图以后。要将本地纹理缓存同时清空。cocos2d会自动将精灵图片存入纹理缓存中。以便下次使用
cc.spriteFrameCache.removeSpriteFrames();
cc.textureCache.removeAllTextures();
cocos2d-x 功能类似