请问Creator有没有截屏的方法

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端点击那里会触发下载图片呢?

你好 你的代码可行 但只支持web端的canvas 如果是webgl该怎么办

我也希望官方能给一个api接口。现在webgl下没法操作,没有什么接口把spriteframe转化成base64.

这个功能一致需求强烈,可惜一些杠精总说这不该是引擎组的工作,也不想想有多少开发者是全栈的啊,

问题是至少给开发者提供数据呀。现在webgl模式下,没法把spriteframe转化成base64。

现在creator默认是webgl模式,结果截屏后的图片没有相应的接口不能转化成base64,现在fb小游戏的分享都是base64 image

刷日常一次。

现在webgl模式下,没法把spriteframe转化成base64。

截屏都截不了,别说是转成base64了。。。。网上找了很久,都是2年前的方法,接口全变了,根本没法弄。。。。

参考一下 这篇文档

cc._canvas.toDataURL()
截屏出来的是黑屏,没有画面
这是为什么