cocos2d 截图功能

截图功能

    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 功能类似

猜你喜欢

转载自blog.csdn.net/m0_37604996/article/details/79991737
今日推荐