探索编程新世界:Scratch 2.0 编辑器与播放器
注意事项
请注意,Scratch 2.0 已进入维护模式,开发者团队将精力集中在最新的 Scratch 3.0 上。尽管如此,对于关键问题的修复我们仍会持续进行,但非紧急的特性请求或小问题可能需要等待下一次主要版本更新。
项目概述
欢迎来到 Scratch 2.0 开源项目,它是官方版 http://scratch.mit.edu 的核心代码库。这个项目已授权于 GPL 版本 2 许可证。你可以在 GPL v2 或任何更高版本的 GPL 下 fork 此项目。
如果你有兴趣为 Scratch 贡献力量,请查看本仓库中的问题,包括识别错误并记录为问题,或者修复问题并创建 pull request。在提交 pull request 时请保持耐心——Scratch 团队很忙,审查可能需要一段时间。由于组织和类结构不能未经深入讨论就做大幅变动,因此此类更改应避免。
据称,Scratch 团队对每个像素都投入了大约一小时的设计讨论,但实际上这可能还略低。我们在 建议论坛 欢迎提出新功能的建议(尤其是附带原型图的),但我们不太可能接受未经深思熟虑的新特性 PR。为什么呢?因为我们坚信为新手用户保持简单的重要性。要了解更多设计哲学,请参阅 此论坛贴文 或 此论文。
快速启动:使用 Visual Studio Code 进行构建和调试
- 首先,按照“构建”部分的 Gradle 指示至少构建一次。
- 简而言之,在终端中运行
./gradlew build -Ptarget="11.6"
(Windows 上,将/
替换为\
)。 - 这将下载并解压必要的 SDK。
- 你可能需要同意一些许可协议(按
y
然后回车)。 - 可能会花费相当长的时间,有时会看起来像是卡住了,可以通过观察磁盘和网络活动来确认进度。
- 简而言之,在终端中运行
- 安装 Visual Studio Code。
- 安装“ActionScript & MXML”扩展(在“扩展”面板中搜索
@ext:as3
)。- 当提示时重新加载 VS Code。
- 将
scratch-flash
文件夹添加到 VS Code 工作区。 - 单击“无 SDK”,然后单击“在此列表中添加更多 SDK…”。
- 浏览至你的主目录,然后进入
.gradle
,再进入gradleFx
文件夹。选择sdks
并关闭对话框。 - 列表中现在应该有以“Apache Flex 4.15.0”开头的 SDK;选择它。
现在你应该能够使用常用的 Visual Studio Code 快捷键进行构建和调试。默认是 Ctrl+Shift+B(Mac 上是 Cmd+Shift+B)来构建,F5 来运行。
需要注意的是,IDE 构建将需要一个非常新的 Flash 版本,所以仅用于开发和调试。Gradle 构建(见下文)配置为兼容广泛的 Flash 版本。
检查 asconfig.json
了解 IDE 构建所使用的配置设置。
构建
Scratch 2.0 的构建过程现在使用 Gradle 简化依赖项获取过程:所需的 Flex SDK 将自动为你下载并缓存。本仓库中包含了 Gradle 包装器,但你需要一个 Java 运行环境或 Java 开发套件来运行 Gradle;你可以从 Oracle 的 Java 下载页面 下载。该页面也提供了下载 JRE 或 JDK 的指导。
可以从这个仓库构建两个版本的 Scratch 2.0 编辑器。请参考以下表格确定适合的命令:
所需 Flash 版本 | 功能 | 命令 --- | --- | --- 11.6 或以上 | 3D 加速渲染 | ./gradlew build -Ptarget="11.6"
10.2 - 11.5 | 兼容旧版 Flash(Linux、旧版 OS X 等) | ./gradlew build -Ptarget="10.2"
成功的构建应类似于以下输出(SDK 下载信息省略):
$ ./gradlew build -Ptarget="11.6"
Defining custom 'build' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0
Target is: 11.6
Commit ID for scratch-flash is: e6df4f4
:copyresources
:compileFlex
WARNING: The -library-path option is being used internally by GradleFx. Alternative: specify the library as a 'merged' Gradle dependency
:copytestresources
:test
Skipping tests since no tests exist
:build
BUILD SUCCESSFUL
Total time: 13.293 secs
完成后,你应在 build
子目录中找到新的 SWF 文件:
$ ls -R build
build:
10.2 11.6
build/10.2:
ScratchFor10.2.swf
build/11.6:
Scratch.swf
请注意,Scratch 商标(包括 Scratch 名称、Logo、Scratch Cat 和 Gobo)归 MIT 所有。关于这些商标的使用,请参阅 Scratch 商标政策。
调试
这里有一些支持 Flash 调试的集成开发环境供您选择:
配置 IDE 使用 Gradle 缓存的 Flex SDK 可能比较困难。如果要调试 Scratch 2.0 SWF 且自己有 Flex SDK 复制版,需要 Flex SDK 版本 4.10+ 以及 Flash Player 版本 10.2 和 11.6 的 playerglobal.swc 文件。
下载完 playerglobal11_6.swc
和 playerglobal10_2.swc
后,将其移动到 ${FLEX_HOME}/frameworks/libs/player/${VERSION}/playerglobal.swc
。例如,playerglobal11_6.swc
应位于 ${FLEX_HOME}/frameworks/libs/player/11.6/playerglobal.swc
。
咨询 IDE 文档以配置新构建的 Flex SDK 版本。
如果源代码可以正常编译但生成的 .swf 出现运行时错误,首先尝试下载 Flex SDK 版本 4.11 目标进行调试。Apache 基金会维护了一个 安装器,让你可以选择多种版本。
加入 Scratch 2.0 社区,探索无限可能,共同为新一代编程者创造未来!