cocos creator 2.0.2后 游戏内截屏,native微信SDK分享代码:
public static wxShareScreenShot(sType: number) {
let node = new cc.Node();
node.parent = cc.director.getScene();
node.width = cc.view.getVisibleSize().width;
node.x = cc.view.getVisibleSize().height;
node.y = cc.view.getVisibleSize().width;
node.height = cc.view.getVisibleSize().height;
let camera = node.addComponent(cc.Camera);
camera.cullingMask = 0xffffffff;
let texture = new cc.RenderTexture();
texture.initWithSize(node.width, node.height);
camera.targetTexture = texture;
camera.render(null);
let data = texture.readPixels();
let width = texture.width;
let height = texture.height;
data = this.filpYImage(data, width, height)
let fileName = "result_share.jpg";
let fullPath = jsb.fileUtils.getWritablePath() + fileName;
if (jsb.fileUtils.isFileExist(fullPath)) {
jsb.fileUtils.removeFile(fullPath);
}
let success = jsb.saveImageData(data, width, height, fullPath);
if (success) {
if(this.isAndroid){
jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "shareScreenShot","(Ljava/lang/String;Ljava/lang/String;)V",fullPath,sType.toString())
}
if (this.isIOS){
jsb.reflection.callStaticMethod("VXManager", "shareScreenShot:" , sType.toString());
}
camera.destroy();
texture.destroy();
}
}