探索编程新世界: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 社区,探索无限可能,共同为新一代编程者创造未来!
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C097
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python058
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
AgentCPM-Explore没有万亿参数的算力堆砌,没有百万级数据的暴力灌入,清华大学自然语言处理实验室、中国人民大学、面壁智能与 OpenBMB 开源社区联合研发的 AgentCPM-Explore 智能体模型基于仅 4B 参数的模型,在深度探索类任务上取得同尺寸模型 SOTA、越级赶上甚至超越 8B 级 SOTA 模型、比肩部分 30B 级以上和闭源大模型的效果,真正让大模型的长程任务处理能力有望部署于端侧。Jinja00