前言
由于Scratch官方说的不是很清楚,导致我光编译就折腾了好久,问别人也没人肯帮我。摸索了好多天才能使用gradle编译,用sublime修改代码,没办法Debug,在这种条件下硬是写了不少代码。
后来渐渐熟悉之后也顺利使用Flash Builder来开发调试,方便了很多。分享一波经验,避免浪费大家太多的时间。
附
- 开源版scratch
Scratch二次开发版,封装了常用的功能,开封即用。
https://github.com/open-scratch
-
二次开发
scratch-flash是离线版的,官方的api并没有开源,如果要和服务器交互的话,需要分析请求然后自己写api来模拟。二次开发过程参考这篇文章
https://www.213.name/archives/1211 -
在线scratch2.0教学平台的DEMO:http://s.213.name/
-
scratch开发者交流群:244050817 ,相关资源及软件可在群内下载
使用Flash Builder开发
-
下载devolpe版的Scratch-flash源码:https://github.com/LLK/scratch-flash
-
安装Flash Builder 4
-
下载flex SDK 4.6
-
配置SDK,项目属性 -> Flex编译器 -> 配置Flex SDK -> 添加
-
新建flex项目,项目地址指向源码的根目录(不是src),应用程序类型选择WEB,
-
导入源码中的libs中的swc库(如果没有自动导入的话)
-
右键项目配置,添加模块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第一次运行时会从国外下载很多东西,建议挂个代理下载
tip:
群文件中已上传所有的相关文件
如果还是编译不好的话,可以进群下载配置好的项目~