我正在为cocos2d-JS上的Facebook创建游戏,其中需要共享游戏的屏幕截图。如何从RenderTexture获取byteArray或base64字符串Cocos2d-JS
我能够截取屏幕截图,但现在无法将其上传到Parse.com服务器,因为它需要base64格式或字节数组。我无法找到任何将Sprite转换为此格式的解决方案..这里是我的代码,因此当我添加它的即将到来的适当的结果时。我还添加了我的已评论的代码,以便它可以帮助理解我已经尝试了很多事情,但不能实现相同。
shareToSocialNetworking: function() {
cc.director.setNextDeltaTimeZero(true);
var newsize = cc.director.getVisibleSize();
var renderText = new cc.RenderTexture(newsize.width,newsize.height);
renderText.begin();
cc.director.getRunningScene().visit();
renderText.end();
var result = cc.Sprite.create(renderText.getSprite().getTexture());
result.flippedY = true;
this._mainViewNode.addChild(result,6000);
//renderText.saveToFile("screenshot.jpg",cc.IMAGE_FORMAT_PNG);
//var based = renderText.getSprite().getTexture().getStringForFormat().toString();
//var data = based.getData();
var file = new Parse.File("screen.jpg", { base64: this.getBase64(result) });
//var file = new Parse.File("screen.jpg", data, "image/png");
var self = this;
file.save().then(function() {
// The file has been saved to Parse.
alert(file.url);
this.onSharePictureInfoLink(file.url());
}, function(error) {
// The file either could not be read, or could not be saved to Parse.
});
//
//var ccImage = renderText.newCCImage();
//
//var str = ccImage.getData();
},
有没有可以做什么解决办法
你可以试试这个: - https://stackoverflow.com/questions/44520608/how-to- get-sprite-pixel-alpha-information-in -cocos2d -js -c/45030826#45030826 – 2017-07-17 11:54:12
你可以试试这个: - https://stackoverflow.com/questions/44520608/how-to-get-sprite-pixel- alpha-information-in-cocos2d-js-c/45030826#45030826 – 2017-07-17 11:55:23