请问Creator有没有截屏的方法

现在有一个需求是截取当前屏幕游戏内容作为游戏存档的预览画面,请问现在creator现在掉什么方法可以截屏
请高手指点,谢谢!

1赞

目前没有截屏接口

后续会添加吗?

web参考这个可以实现 http://www.cnblogs.com/hongru/archive/2012/01/14/2322540.html

原生的有办法吗?

原生的就不清楚了…

可以的,用cc.RenderTexture

var render = new cc.RenderTexture(width, height);
render.begin();
this.node._sgNode.visit();
render.end();
render.saveToFile(“1.png”, cc.IMAGE_FORMAT_PNG);

rendertexture api没查到 从哪能看到具体用法和其他方法···?

http://www.cocos2d-x.org/reference/html5-js/V3.8/index.html, 左上搜索框输入rendertexture就找到了。
我上面那段代码creator里测试过了。可以把this.node从(0,0)到(width, height)截取到模拟器目录
CocosCreator\resources\cocos2d-x\simulator\win32下的1.png。你要截全屏的话把这段代码挂在场景根节点下就可以了。RenderTexture扩展的是cc.Node,你也可以setPosition去截屏幕的不同部分。

我这边用rendertexture的时候 为什么new之后获得的是一个class? = = 我想用这个试试橡皮擦的功能 你那边也是这样么?

我试了下也是class,它扩展的是原来cocos2dx js里的cc.Node,不是Creator里新的cc.Node。你看它文档里的api能用就行。

嗯嗯 这个现在只能在原生用 web用不了 会报个错

截屏功能能放到roadmap中去吗?功能需求挺强烈的:grinning:

截屏我弄过,兼容Web和JSB,以下是代码(TypeScript版本,去掉类型就是js):

/**
         * 捕捉屏幕作为一个PNG文件保存在路径filename
         */
        public static captureScreenshot(filename: string): void {
            if (this.isWebPlayer) {
                var canvas: HTMLCanvasElement = <HTMLCanvasElement>document.getElementById("gameCanvas");
                var base64: string = canvas.toDataURL("image/png");
                var href: string = base64.replace(/^data:image[^;]*/, "data:image/octet-stream");
                var aLink: HTMLAnchorElement = document.createElement('a');
                aLink['download'] = filename;
                aLink.href = href;
                var evt = document.createEvent("HTMLEvents");
                evt.initEvent("click", false, false);
                aLink.dispatchEvent(evt);
            }
            else {
                var size: cc.Size = cc.view.getVisibleSize();
                var texture: cc.RenderTexture = new cc.RenderTexture(size.width, size.height, cc.IMAGE_FORMAT_PNG);
                texture.begin();
                cc.director.getRunningScene().visit();
                texture.end();
                texture.saveToFile(filename, cc.IMAGE_FORMAT_PNG);
            }
        }
9赞

我刚才用了下这个 好像没截下来 就算截屏下来的话 会保存到哪里啊??、

模拟器的默认写路径是:CocosCreator安装目录\resources\cocos2d-x\simulator\win32。去这个目录下看一下吧。

请问为啥我这么多类型找不到?版本1.5.2

去掉类型,
比如
var size=cc.view.getVisibleSize();
var texture =new cc.RenderTexture(size.width,size.height,cc.IMAGE_FORMAT_PNG);

web端点击那里会触发下载图片呢?