scratch二次开发,素材库为空

发布于 2022-09-07 04:01:52 字数 77 浏览 16 评论 0

编译scratch官方源码,得到scratch.swf,放置在服务器上发现素材库请求报错,不会配置,求怎么修改可以正确拿到素材库声音库等素材

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋凉 2022-09-14 04:01:52

server.as 下 getMediaLibrary 方法,需要获取4个json文件
下面4个是我网站的json文件(其实我也是从官网的抓的)
造型角色声音背景
至于资源库,我之前down了一个(度盘地址)但这个并不全(并且没更新),后来自己写了个脚本读json然后一条条获取的(数据很大..)
对了,解压出的media文件夹就是那个资源库


@楼主,接回复,因为想直接截图...
我的提交流程其实比较繁琐(蠢),毕竟涉及到三块(而as除了HttpRequest外无法直接与服务端接触)。
流程截图如下:
流程

至于js具体代码你可以直接看下创建页面,as代码相对简单:

  • (以下都是as代码)先设置js回调接口
addExternalCallback('ASCallbackSave', saveCallbackProject);//保存回调模块监听


public function saveCallbackProject(arr):void {
        externalCall('console.log', null, arr);
        function squeakSoundsConverted():void {
            scriptsPane.saveScripts(false);
            var projectType:String = extensionManager.hasExperimentalExtensions() ? '.sbx' : '.sb2';
            var defaultName:String = StringUtil.trim(projectName());
            defaultName = ((defaultName.length > 0) ? defaultName : 'project') + projectType;
            var zipData:ByteArray = projIO.encodeProjectAsZipFile(stagePane);//通过byteArray格式保存数据
            //俩域名验证domain保证不会跨域
            externalCall('JSGetDomain',function(domain:String):void{
                var url:String = 'http://www.' + domain + '/creation-platform/scratch/upload?';
                externalCall('console.log', null, url);
                var url_param:String = 'project_id=' + arr['project_id'] + '&';//添加作品id做上传用.
                url += url_param;
                externalCall('console.log', null, url);
                externalCall('console.log', null, '正在保存项目');
                server.saveOnServerByPost(url, zipData);
                externalCall('console.log', null, '项目保存成功');
            });
            //--end
        }

        if (arr['status'] != 'ok') {
            if (arr['is_draft'] != 1) {
                jsThrowError('cencer taken , not saved');
            } else { //保存草稿
                var projIO:ProjectIO = new ProjectIO(app);
                projIO.convertSqueakSounds(stagePane, squeakSoundsConverted);
            }
        } else { //保存用户作品
            var projIO:ProjectIO = new ProjectIO(app);
            projIO.convertSqueakSounds(stagePane, squeakSoundsConverted);
        }
    }

先暴露接口

至于js代码直接看我那个网站创建页面就行,我都没做js文件,全都写页面上了....

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文