Cocos Creator截屏方法

在 1.x 中,我们一般通过 cc.RenderTexture 来完成截图功能,但是这是属于旧版本渲染树中的一个功能,在Cocos Creator2.0去除渲染树后,截图功能的使用方式也完全不同了。简单来说,2.0 中 cc.RenderTexture 变成了一个资源类型,继承自贴图(cc.Texture)资源。我们通过将某个摄像机内容渲染到 cc.RenderTexture 资源上完成截图,具体的使用方式参考Cocos Creator文档中 Camera 文档截图章节。

摄像机可能是 1.x 到 2.0 改动最大的一个组件,为了可以顺畅更新,Creator 尽量保持了组件层 API 的一致性,然而 Camera 的使用方式和 API 却无法做到简单迁移。因为在 2.0 中,Camera 从一个配角变成了主角。

Cocos Creator1.x 截图
遇到的问题
首先如果截取的是整个Canvas的话,官方文档也没有详细的说明,直接使用 cc.RenderTexture 就可以截图

但是如果截取的是单个node,则显示会有问题

Q&A:

1.如果只截取到部分图片? 
需要将截取的节点的父节点的锚点设置为(0,0) 
2.截取图片后,整个node会移动到左下? 
可以先将该node隐藏,然后再显示出截取的图片替代该node 
3.如何截取有mask的节点? 
创建cc.RenderTexture时,需要增加两个参数: cc.RenderTexture.create(640,960, cc.Texture2D.PIXEL_FORMAT_RGBA8888, gl.DEPTH24_STENCIL8_OES);

你可能感兴趣的:(Cocos,Creator笔记,CC截屏)