[已解决]如何把Sprite中所有已addChild的显示对象,绘制到一个Texture上,就是给Sprite做一个快照?

如何把Sprite中所有已addChild的显示对象,绘制到一个Texture上,就是给Sprite做一个快照?

这个是将当前界面截图保存的方法。
var tex = new cc.RenderTexture(winSize.width, winSize.height, cc.Texture2D.PIXEL_FORMAT_RGBA8888);
tex.setPosition(cc.p(winSize.width / 2, winSize.height / 2));
tex.begin();
cc.director.getRunningScene().visit();
tex.end();

    var imgPath = jsb.fileUtils.getWritablePath();
    if (imgPath.length == 0) {
        return;
    }
    var result = tex.saveToFile(fileName, cc.IMAGE_FORMAT_JPEG);
    if (result) {
        imgPath += fileName;
        cc.log("save image:" + imgPath);
        return imgPath;
    }
    return "";

不知道对你有没有帮助。
理论上,sprite一样可以用visit,你可以试试哈。 如果解决了欢迎反馈,哈哈

可以截,就是 RenderTexture,前两个w与h参数,sprite必须得相对于屏幕的坐标

恩恩。可以用就好:14: