微信分享经常需要用到游戏截屏,下面记录方法,方便查阅。
const {ccclass, property} = cc._decorator;
//TS 脚本 会报红 不用管 可以运行 JS不会报错
@ccclass
export default class ScreenCaptureWindow extends cc.Component {
capture () {
//需要自己自行再创建一个 Camera depth要高于MainCamera 不然会黑屏
let camera=cc.find('Canvas/Camera').getComponent(cc.Camera);
let texture = new cc.RenderTexture();
texture.initWithSize(cc.visibleRect.width, cc.visibleRect.height);
//cc.TEXTURE2_D_PIXEL_FORMAT_RGB_A8888,0x88F0
camera.targetTexture = texture;
this.texture = texture;
let width = this.texture.width;
let height = this.texture.height;
let canvas = document.createElement('canvas');
let ctx = canvas.getContext('2d');
canvas.width = width;
canvas.height = height;
camera.render();
let data = this.texture.