有个需求,可以理解为就像做名片一样,一样的背景图,需要修改一些编号文字之类的,然后每个编号生成一张图片并保存,这个怎么在cocos里实现?
之前虽然用cocos也算做了一些事儿,但这个需求好冷门,一下子难住了,有点懵逼,有大佬能指点一下么?
有个需求,可以理解为就像做名片一样,一样的背景图,需要修改一些编号文字之类的,然后每个编号生成一张图片并保存,这个怎么在cocos里实现?
之前虽然用cocos也算做了一些事儿,但这个需求好冷门,一下子难住了,有点懵逼,有大佬能指点一下么?
论坛里很多啊,用一个专门拍照的摄像机来拍摄你需要截图的元素分组,然后render一份texture
保存成文件怎么搞?
参考楼上大佬的获得数据,然后这是我以前在论坛里找大佬要的网页端保存方案,虽然我没搞明白原理,但是亲测可行
private onSaveClick () {
let data = this.parsingData(); // 解析数据
var textFileAsBlob = new Blob([data], { type: 'text' });
var downloadLink = document.getElementById("a") as HTMLAnchorElement;
if (!downloadLink) {
downloadLink = document.createElement('a');
}
downloadLink.download = DataManager.getInstance().getFileName();
downloadLink.innerHTML = 'Download File';
if (window.webkitURL != null) {
downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob);
} else {
downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
downloadLink.onclick = function () {
if (downloadLink) document.body.removeChild(downloadLink);
};
downloadLink.style.display = 'none';
document.body.appendChild(downloadLink);
}
downloadLink.click();
}
大佬,我没搞定
几个问题请教一下:
麻烦大佬指点指点。
这是我自己用的。。。本意是发出来参考的,第一个data改成你自己需要保存的文件内容,第二个datamanager那个getfilename是获取需要保存为啥文件名,你自己可以随便写,字符串就好,我是自己做的地图编辑弄了个类管理地图数据的
大佬给力!原来download那句不写就在页面中打开而不是下载了,加了就下载文件了。
然鹅,下载的是txt的,里面内容是这个 [object HTMLImageElement],我把你写的“a”改成其他名字,就不下载了。。。怎么才能下载图片啊。。。
另外,我试过传下面这个作为data,然后这个txt文件里包含的是[object HTMLImageElement]

然后我又试着传了下面这个,结果txt里变空了,这个spriteFrame我测试过,不是空图片,是有图像的,所以应该传什么作为data能把图片存下来呢?

这里跟你需求有出入,我这里是保存的文件
刚在网上搜了一份帖子你可以看一下:ccc各平台截图保存
网页端主要这两个方法改一下数据和Blob自己试一下吧
base64Img2Blob_web(code){
var parts = code.split(’;base64,’);
var contentType = parts[0].split(’:’)[1];
var raw = window.atob(parts[1]);
var rawLength = raw.length;
var uInt8Array = new Uint8Array(rawLength);
for (var i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], {type: contentType});
},
downloadFile_web (fileName, content){
var aLink = document.createElement('a');
var blob = this.base64Img2Blob_web(content);
var evt = document.createEvent("MouseEvents");
evt.initEvent("click", false, false);
aLink.download = fileName;
aLink.href = URL.createObjectURL(blob);
aLink.dispatchEvent(evt);
},
————————————————
版权声明:本文为CSDN博主「音乐男」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:creator 各种平台截图保存的实现_YinLeNan的专栏-CSDN博客
好的,我去试试的。顺便大佬能解答一下就是你的那个createElement(“a”),里面为啥是a么?就不大懂,想学学。
大佬太给力了!你找的那个例子,虽然里面有些东西我还没理解,但已经调通了!多谢大佬!感谢大佬!祝大佬有无数女朋友!
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。