探索编程新世界: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 StartedRust0444
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0760
Hy3Hy3 是由腾讯混元团队研发的快慢思考融合的混合专家模型,总参数量 295B,激活参数 21B,MTP 层参数 3.8B。4 月底发布 Hy3 Preview 后,我们在 50 多个业务中获得了广泛的反馈,修复了各种体验问题,进一步提升了后训练的质量和规模。今天,我们发布 Hy3。它展现出显著强于同尺寸并比肩旗舰(参数规模往往是 Hy3 的 2~5 倍)开源模型的智能水平,显著提升了在各类产品和生产力任务中的实用价值。Python00
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0310
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00