来个土办法
var SCREEN_SHOOT_SHARE = “ScreenShootShare.jpg”//截屏分享图片名
var SCREEN_SHOOT_SHARE_SCALE = “ScreenShootShareScale.jpg”//截屏分享图片名
//截取屏幕
screenShoot: function() {
if (!cc.sys.isNative){
Utils.showToast(“只有APP版可以使用微信功能~”,2)
return
}
var self = this;
var filepath = SCREEN_SHOOT_SHARE;//图片最后存储路径
var size = cc.winSize;//屏幕size
var rt = cc.RenderTexture.create(size.width, size.height);
//开始绘制截屏
cc.director.getScene()._sgNode.addChild(rt);
rt.setVisible(false);
rt.begin();
cc.director.getScene()._sgNode.visit();
rt.end();
cc.log('screenShoot ~~~~~~~~~~~~ = ’ + filepath)
rt.saveToFile(filepath, cc.ImageFormat.JPG, false, function() {
//截屏成功回调
rt.removeFromParent();
setTimeout(function(){
self.makeWeChatSharePic(filepath,SCREEN_SHOOT_SHARE,0.35)
self.makeWeChatSharePic(filepath,SCREEN_SHOOT_SHARE_SCALE,0.08)
},10)
});
},
缩放图片
makeWeChatSharePic: function(filePath,name,scale) {
if (!cc.sys.isNative)return;//只支持native
var self = this;
var m_filepath = jsb.fileUtils.getWritablePath()+filePath;//图片最后存储路径
var size = cc.winSize;//屏幕size
var rt = cc.RenderTexture.create(size.widthscale, size.heightscale);
//开始绘制截屏
cc.director.getTextureCache().removeTextureForKey(m_filepath);
var m_node = Utils.createCustSprite(m_filepath)
m_node.setAnchorPoint(cc.p(0,0))
cc.director.getScene().addChild(m_node)
m_node.scale = scale
m_node._sgNode.addChild(rt);
rt.setVisible(false);
rt.begin();
m_node._sgNode.visit();
rt.end();
m_node.active = false
rt.saveToFile(name, cc.ImageFormat.JPG, false, function() {
//截屏成功回调
rt.removeFromParent();
m_node.removeFromParent();
if (name == SCREEN_SHOOT_SHARE_SCALE) {
var path = jsb.fileUtils.getWritablePath() + SCREEN_SHOOT_SHARE
var thumbPath = jsb.fileUtils.getWritablePath() + SCREEN_SHOOT_SHARE_SCALE
self.wechatSharePic(path,thumbPath)
};
});
},
手动创建精灵的方法
createCustSprite: function(filePath){
var node = new cc.Node();
var sp = node.addComponent(cc.Sprite);
var tex = cc.director.getTextureCache().addImage(filePath)
var frame=new cc.SpriteFrame(tex);
sp.spriteFrame = frame;
return node
},