原文链接: cocos 截图
下一篇: cocos 坐标系和锚点
只要能够拿到canvas啥都好说
注意需要在渲染完毕之后, 也就是引擎已经把元素绘制完毕的时候去触发截屏, 不然可能出现元素丢失的情况
这里使用的是异步的blob方式, 不知道会不会由延时... 一般直接同步的toDataURL也是可以的
需要截取指定位置的话, 可以创建一个canvas, 将需要截取的地方画进去, 然后再去截取
this.btn.node.on(cc.Node.EventType.MOUSE_DOWN, () => {
const canvas = cc.game.canvas;
console.log("1111", canvas);
cc.director.once(cc.Director.EVENT_AFTER_DRAW, () => {
//此处开始执行截屏
canvas.toBlob((b) => {
const url = URL.createObjectURL(b);
const img = document.createElement("img");
img.src = url;
document.body.append(img);
});
});
});