探索编程新世界: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 社区,探索无限可能,共同为新一代编程者创造未来!
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust089- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
Hy3-previewHy3 preview 是由腾讯混元团队研发的2950亿参数混合专家(Mixture-of-Experts, MoE)模型,包含210亿激活参数和38亿MTP层参数。Hy3 preview是在我们重构的基础设施上训练的首款模型,也是目前发布的性能最强的模型。该模型在复杂推理、指令遵循、上下文学习、代码生成及智能体任务等方面均实现了显著提升。Python00