前言
由于Scratch官方说的不是很清楚,导致我光编译就折腾了好久,问别人也没人肯帮我。摸索了好多天才能使用gradle编译,用sublime修改代码,没办法Debug,在这种条件下硬是写了不少代码。
后来渐渐熟悉之后也顺利使用Flash Builder来开发调试,方便了很多。分享一波经验,避免浪费大家太多的时间。
附
- 开源版scratch
Scratch二次开发版,封装了常用的功能,开封即用。
https://github.com/open-scratch/scratch2 -
Flash Builder 下载和破解方法
https://www.213.name/archives/1234 -
二次开发流程
scratch-flash是离线版的,官方的api并没有开源,如果要和服务器交互的话,需要分析请求然后自己写api来模拟。二次开发过程参考这篇文章
https://www.213.name/archives/1211 -
scratch开发者群,相关资源及软件可在群内下载
244050817
244051003 (已满)
使用Flash Builder开发
-
下载devolpe版的Scratch-flash源码:https://github.com/LLK/scratch-flash
-
安装Flash Builder 4
-
下载flex SDK 4.6
-
新建flex项目,项目地址指向源码的根目录(不是src),应用程序类型选择WEB,
-
配置SDK(如果导入时没有配置),项目属性 -> Flex编译器 -> 配置Flex SDK -> 添加
-
导入源码中的libs中的swc库(如果没有自动导入的话)
-
项目->属性->Flex模块,添加一个模块,源代码选择src\Scratch.as,输出scratch.swf,选择不优化
-
编译器参数:
-locale zh_CN -swf-version=19 -default-size=800,600 -define+=SCRATCH::allow3d,false -define+=SCRATCH::revision,’e267f37′ -
其他配置:
框架链接选择“合并到代码中”
取消勾选验证RSL摘要 -
项目/构建项目,然后去bin-debug文件夹找构建好的scratch.swf文件就可以运行了(不是点运行)
-
如果需要debug调试的话需要安装Adobe Flash Player Debugger版本,请自行搜索下载
使用gradle编译
** 注:因官方的某个源挂了,此方法可能不可用 **
- 安装gradle,配置环境变量
-
在源码目录下执行.\gradlew build,Linux下执行./gradlew build
-
注:Linux下应该可以直接编译成功,但windows下可能会报错,提示缺少osmf.swc库文件
解决方法是在别的SDK中复制过来,gradle默认SDK目录在:C:\Users\Administrator.gradle\gradleFx\sdks\下的某个文件夹
将osmf.swc复制到SDK目录下的frameworks\libs文件夹中即可 - 如果sdks下没有文件夹的话,那么
C:\Users\Administrator.gradle\caches\modules-2\files-2.1\org.apache\apache-flex-sdk\4.15.0
这里有个sdk的压缩包,将osmf.swc放到压缩包里的frameworks\libs也可以 - 由于gradle第一次运行时会从国外下载很多东西,建议挂个Vpn下载
** Tip: **
– 如果IDE很卡的话,关闭“自动构建”即可
– 群文件中已上传所有的相关文件
– 如果还是编译不好的话,可以进群下载配置好的项目~
中英文以及人物背景库怎么解决,博主能不能详细说一下? [^^] [^^]
把相应素材放到根目录scratch会自动读取
非常有用的技术博客先收藏一波再看(能淘到不少有用的技术资料)
博主,第10步怎样运行的呢
把swf文件嵌入到网页中
大致操作有例子吗 [><]
可以从官网的页面中扒前端代码
我还是个小白
要用python吗?
博主有研究AIR的编译么
操作步骤和这个教程基本上是一样的
博主,有QQ,微信等的联系方式?我QQ:449817,有空加下,想付费找你定制一下功能
我也是空白的
编辑器设置如博主您一样设置了,运行在浏览器打开后是空白的。。请问怎么解决
肯定还是有步骤错了,仔细查一下
博主,请问第七步 项目配置 怎么输出
选择源码scratch.as
你好,博主,我编译出来选不了中文,另外也没有scratch自带的素材是怎么回事呢?
将语言包和素材库放入scratch统计目录中,相关代码好像是在Server.as里。
请问Scratch2.0检查更新后下载了哪些文件?存放在哪里?谢先。
检查更新什么意思?
博客不错,加油
博主大牛!
小菜比
谢谢博主
不客气
应该是执行 .\gradlew build -Ptarget=11.6
(11.6可替换为其他版本号)
使用默认版本也可以
怎么啦
使用fb编译出来是白屏?能将你处理好的fb项目代码发一下吗?
这个问题应该是你没有选择框架链接为“合并到代码中”
编译出来了
你好,能发一下吗?
我的编译不出来,报错,属性revision未定义,真不知道是怎么回事,能给我看看吗,谢谢!很急
我的也是白屏的。请教一下您是如何解决的
没有编译成功,或者没配置好IDE
scris.top/geonline
应该是scris.top/GeOnline/
你好,我的这个报属性revision未定义,请问这是怎么回事呀
打开了,能发一下您的改过后的源码项目吗?
抱歉这是商业项目不能发..
请问您是哪里解决
博主,请指教 Scratch.as文件1266行报错,属性revision未定义
编译器参数没配置好,实在不行你把revision相关的代码删掉
编译器参数就是您给的参数
我根据您的说法,我把报错的那行代码注释了,启动在浏览器中什么都没有,空白的,我是第一次弄这个东西,请指教
好像把offline改成True就可以了
也许你根本没编译好
报错的这个文件是Scratch.as文件的1266行,至于您说的offline是在哪个文件中呢?至于编译,他不应该是自动编译的吗,想Java一样,自动编译啊,或者您你能发一下您编译好的项目给我看看吗!10056747@qq.com,跪谢!
http://s.213.name/frontend/web/scratch/这个就是做好的
连接打不开
谢谢博主,已经可以运行了