cc.director.on(cc.Director.EVENT_AFTER_DRAW, callback.bind(this));
使用这种方式截图,没有等待时间,
但是截图之后场景全没了
使用全屏截图,再把截图的图片高斯模糊之后盖在上面,基本要做到没有延迟时间,并且性能没有多少损耗的情况,
我目前不知道使用哪种方式
@引擎组
有大神解决么
我这边使用的引擎是2.0.9 而且高斯模糊用shader 实现了,只有截图目前有问题
我这边使用的引擎是2.0.9 而且高斯模糊用shader 实现了,只有截图目前有问题
有大神帮忙解决一下么
web平台还是微信小游戏?
H5 平台
好像 只要界面改变之后,就直接黑屏了

截屏之后 这些都不动了
求大神解决一下
有大神帮忙解决一下么
可以提供一下demo,为什么要放在cc.Director.EVENT_AFTER_DRAW事件的监听回调里面去做截图呢?
请问截图,然后加载到场景解决了嘛? 我目前h5下解决了,微信平台下没解决。目前也要做截图加shader的功能,求交流
你好,我现在在微信下截图,然后加载到场景中,发现截图成功,生成图片为http:xxx.png,然后在创建精灵的时间,发现texture是不对的,尝试了好几种方案都没成功。最后显示没有图,求指导。代码如下:
toTempFilePathWx () {
var scheduler = cc.director.getScheduler();
var self= this;
scheduler.schedule(function () {
var canvas = wx.createCanvas();
var sceneSize = cc.director.getWinSize();
canvas.width = sceneSize.width;
canvas.height = sceneSize.height;
// canvas坐标左上角开始算 toTempFilePathSync 异步接口
canvas.toTempFilePath({
x: 0,
y:0,
width: sceneSize.width,
height: sceneSize.height,
destWidth: sceneSize.width,
destHeight: sceneSize.height,
fileType: ‘png’,
quality: 1,
success: function (res) {
let picUrl = res.tempFilePath;
self.sceneAddPic(picUrl);
},
fail: function () { }
});
}, this, 0, 0, 0, false);
},
sceneAddPic (urlimg) {
var node = new cc.Node("New Node");
var sprite = node.addComponent(cc.Sprite);
node.parent = this.addNode;//cc.director.getScene();
node.anchorX = 0;
node.anchorY = 0;
node.x = 360;
node.y = 640;
/*var textures = new cc.Texture2D();
textures.initWithElement(urlimg);
let spriteFrame = new cc.SpriteFrame();
spriteFrame.setTexture(textures);
sprite.spriteFrame = spriteFrame;*/
/*var img = new Image();
var texture = new cc.Texture2D();
img.src = urlimg;
texture.initWithElement(img);
let spriteFrame = new cc.SpriteFrame();
spriteFrame.setTexture(texture);
sprite.spriteFrame = spriteFrame;*/
var image = new Image();
image.src = urlimg;
image.onload = function () {
try{
image.onload = null;
image.onerror = null;
var texture = new cc.Texture2D();
texture.initWithElement(image);
texture.handleLoadedTexture();
let spriteFrame = new cc.SpriteFrame();
spriteFrame.setTexture(texture);
sprite.spriteFrame = spriteFrame;
}catch(e){}
};
/*cc.loader.load(urlimg, (err, texture)=>{
let spriteFrame = new cc.SpriteFrame();
spriteFrame.setTexture(texture);
sprite.spriteFrame = spriteFrame;
});*/
/*cc.assetManager.loadRemote(urlimg, (err, texture)=>{
let spriteFrame = new cc.SpriteFrame();
spriteFrame.setTexture(texture);
sprite.spriteFrame = spriteFrame;
});*/
},
问下找到解决办法了吗问下,我也找到这个案例用了,windows下也正常,上微信小游戏就截图黑屏,而且有截图大于2048的情况


