适用于CocosCreator的各个版本
// 确保在浏览器中
if (cc.sys.isBrowser) {
// 监听director绘制完成的事件
cc.director.once(cc.Director.EVENT_AFTER_DRAW, () => {
// 获取base64截图
const canvas = document.getElementById("GameCanvas") as HTMLCanvasElement;
const base64 = canvas.toDataURL();
// 创建一个http的img元素
const img = new Image();
img.src = base64;
// 1.用cc.Sprite组件显示截图
img.onload = () => {
const texture = new cc.Texture2D();
texture.initWithElement(img);
texture.handleLoadedTexture();
const sf = new cc.SpriteFrame(texture);
// this.img是cc.Sprite组件
this.img.spriteFrame = sf;
}
// 2.用http的img显示截图(可以保存图片到本地)
const body = document.createElement('body');
body.append(img);
document.body = body;
// 给img做一下屏幕适配
img.setAttribute('width', '100%');
img.setAttribute('height', '100%')
})
}