Scratch免费编程工具:适合8至16岁儿童及所有年龄段,支持70多种语言
软件介绍播报

编辑
Scratch 是一种编码语言,它具有简单的视觉界面。可以利用 Scratch 来创建自己的交互式故事、游戏和动画,还能与世界各地的其他人分享创作。它能促进计算思维和解决问题的能力,能进行创造性的教学和学习,能实现自我表达和协作,也能推动计算领域的公平性。Scratch 一直是免费的,并且提供了 70 多种语言版本。
例如数学、计算机科学、语言艺术、社会研究等学科。
Scratch界面(1张)
发展历史播报
编辑
Scratch 的 3.0 版本是用 HTML5 开发的。
Scratch1.x时期
Scratch 1.4
Scratch1.x 是以 Smalltalk 来编写的。在“OLPC(每个孩子都有一台电脑)”项目当中,Smalltalk 提出了一个关于语言学习顺序的建议,这个顺序中的每一种语言都被设计成是下一种语言的入门和基础。这个顺序为:先学习 Scratch,接着是 Etoys,然后是 Squeak,最后是任意 Smalltalk。在学习期间,每种语言都提供了图形化编程环境,它不仅能教会孩子们一些编程概念,还能包含物理和数学知识的模拟,以及进行讲述故事的练习。Smalltalk 和 Squeak 作为全功能的应用程序开发语言,在过去数十年里变得很有名。Scratch 是孩子们学习的工具。在整个 1.x 系列中,Scratch 官网基本保持原样。该版本的 Scratch 与网站没有关联(除了发布程序)。在 2.0 时期,情况发生了改变,人们可以在网页中制作程序。
Scratch2.0时期
Scratch2.0 是在 2010 年 1 月由 andresmh 在 Scratch 论坛上发布的。它是以 Flash 来进行编写的。并且支持了矢量图。Scratch2.0 被分为离线版和在线版。在线版能够直接在 Web 浏览器中进行创建、编辑以及查看项目。不需要再进行上传、下载项目或者安装其他软件。还可以使用云变量。离线版则只能本地制作程序,且无法使用云变量。
Scratch 2.0
Scratch2.0 离线版可在 Scratch 官网进行下载,这样在无法连接 Internet 时就能使用。2.0 版本提升了与外部链接设备的互动性,像 Lego Wedo 等。2020 年,更为先进的 3.0 版本发布之后,官网就不再提供 Scratch2.0 编辑器了。
Scratch3.0时期
Scratch3.0不再使用 Flash,而是采用 HTML5 进行编写。HTML5 是最新的 HTML、CSS 等的综合体现。Scratch3.0 首先会运用 WebGL、Web Workers 以及 Web Audio Javascript Libraries。JavaScript是一种应用广泛的语言。它能够支持所有的浏览器以及 WebGL,所以可以实现跨平台使用。并且它是经过精心挑选的,在运行时不需要任何额外的插件。
Scratch3.0 这个名字是在 2016 年 5 月由 Scratch 团队的 Andrew Sliwinski 首先提出的。2018 年 1 月,Scratch3.0 的首个公测版本(Scratch 3.0 beta)在 Scratch 官网上得以发布。2019 年 1 月,Scratch3.0 在线编辑器的发行版本发布。2019 年 1 月之后,离线编辑器也可供下载使用。
Scratch 3.0
Scratch3.0 进行了重构,同时增添了一些功能。其中有“移到最后面”积木,还有“文字朗读”以及“翻译”扩展等。编辑器的外形变得更加柔美,并且支持多次撤销和重做操作。Scratch3.0 保存的文件格式为.sb3,不过它也具备读取.sb 和.sb2 文件的能力。
页面布局播报
编辑
3. 整体的布局形式较为清晰。
Scratch 3.0页面布局
菜单栏
导航栏位于每个 Scratch 页面的顶部。它包含着 Scratch 图标,该图标可链接至首页;还有地球图标,单击此图标会打开语言列表;以及文件和编辑菜单等。它可用于进行文件新建、加载、保存操作,还可用于查看教程以及搜索作品。当一个人在软件中进行向上或向下滚动时,导航栏会固定在原位,这样始终能够快速访问到它。 [3]
代码块选择区
主界面屏幕左侧的区域是代码块选择区。其中包含 Scratch 里的九个代码块类别。在这些类别的右侧,会显示该类别对应的代码块。这些块能够被拖到代码区,用以制作脚本。代码块选择区的左下角有扩展按钮。它能让用户添加自定义代码块作为扩展模块。这些扩展代码块会被添加到代码块选择区中,比如与其他设备通信的块。
代码编辑区
代码编辑区位于代码块选择区的右侧,是一个较大的空间。它呈现为浅灰色的矩形。此区域用于存储运行项目的块。能够将块从代码块选择区拖曳至代码编辑区,并将其排列成脚本。每个角色都拥有自己的脚本,可在角色区选择相应的角色。
在 Scratch 中进行编码时,可从代码块选择区拖出块并在代码编辑区进行组装。能在该区域更改代码块的值。该区域可通过滚动条向各个方向延伸。能用鼠标或触摸板垂直滚动代码区域。触摸板还能够水平滚动该区域。[4]
舞台
舞台自身能够拥有脚本、背景以及声音。
角色区
角色区处于代码编辑区与舞台的下方。它具备让创作者迅速切换角色以及查看每个角色所包含的不同脚本的功能。在代码编辑区中使用的所有角色都会在此处列出,能够通过点击角色来对其进行访问。每个角色都有自身的脚本、造型以及声音。在角色的上方,有一个区域,该区域包含着角色的名称、位置、大小和方向,这些属性可以直接在这个区域进行更改。
绘画编辑器
绘画编辑器是 Scratch 所内置的造型和背景编辑器。许多创作者利用它来制作自己的角色和背景。这些图像包含两种图形类型,分别是矢量图形和位图(光栅)图形。矢量图形会将对象存储为形状或者数学曲线,而非像素。这就使得矢量图形看起来更加平滑,因为它们能够无限放大且不会出现像素化的情况。位图图形,也就是光栅图形,它把图像以像素数组的形式存储在网格结构中。这样一来,它们在绘制和操作方面较为容易,然而,这也致使它们在被放大时会显得模糊或者像素化。
Scratch3.0绘画编辑区
绘画编辑器的最左边部分是造型窗格。这个造型窗格包含用于创建新服装的按钮,还有每个服装的图标,图标上有服装的造型编号、名称以及一个小预览。在造型窗格里,列出了所选角色的各种造型。若要在绘画编辑器中编辑不同的造型,只需从窗格中点击所需的服装就行。
声音编辑器
Scratch3.0声音编辑区
声音编辑器具备制作、查看以及编辑角色和舞台声音的功能。在左侧有声音列表,此列表可用于在编辑区域里挑选要进行编辑的声音。若点击声音,就会将其选中,并且所选声音的右上角存在一个“X”,可用来删除声音。通过右键点击声音,会显示出三个选项,分别是复制、导出和删除。编辑区域位于声音列表的右侧以及舞台的左侧。它的顶部存在一个条形图,中间有一个声音,底部配备有几个工具,这些工具包含“快一点”“慢一点”“响一点”等效果。
语言组成播报
编辑
Scratch 代码是由代码块排列并连接而成的。这些代码块包含 9 个主要类别,还有 11 个扩展类别以及 3 个树莓派扩展类别。
运动块
运动块用来处理角色的移动。运动块主要和角色的 x 位置相关,也和角色的 y 位置相关,还和角色的方向相关。舞台不包含运动块,因为舞台是一个静止的对象。
外观块
外观块与角色和舞台的外观存在关联。其中部分功能是能够更换造型,并且可以应用图形效果。
声音块
声音块与播放多种声音相关。这些声音包括 MIDI 音符以及保存的声音。
事件块
事件块与项目中的各种触发器存在关联,或者在一个部分向另一个部分发出运行信号的时候会被使用。
控制块
控制块能够以所需的方式让项目运行基本流程,不管是有预计的情况还是突发情况。它们具备循环各种块和脚本的功能。它们对项目进行“控制”并且提升其运行效果。
侦测块
感应块与角色相关联,并且与舞台检测条件也相关联。比如,侦测块能够用来检测一个角色在何时接触到另一个角色。
运算块
运算块的作用是处理项目中的诸多数学函数。它能提供从简单到复杂的数学运算功能。其中包含了进行加减乘除等运算的数学运算块,还有用于大小比较的块、进行逻辑运算的块以及进行字符运算的块。
变量块
变量块包含两个子类别,分别是变量和列表。这两者都与存储和访问数据有关。变量块可用来存储信息,像项目中的分数等,并且能用于代码编写等其他有益的事情。变量子类别用于保存与控制变量,比如修改变量值、显示或隐藏变量。列表子类别是一种包含多个变量的变量,能够向其插入、删除或替换变量。
自制积木
自制积木可用来为选定角色保存自定义过程。这些块在运行脚本以及组织脚本方面很有帮助。并且能够把布尔值、数字和字符串输入添加到自制积木中。
在线社区播报
编辑
Scratch 负责运营和维护 Scratch 在线社区。用户可以把他们的项目分享在 Scratch 网站上,并且能够获得反馈。项目能够直接从软件上传至 Scratch 网站,社区的任何成员都可以查看和下载完整的源代码,以便进行研究。
Scratch 团队与社区进行合作,致力于为各类人群,包括不同年龄、种族、民族、宗教、性取向以及性别认同的人,维护一个充满友好和尊重的环境。用户能够在开放的学习社区里,与那些有着不同背景、年龄以及兴趣的其他用户一同进行探索和实验。成员可以将自己的工作进行分享,获取反馈并且相互学习。
Scratch大会播报
编辑
一年一度的 Scratch 大会给予了一个机会,人们能借此交流探索使用 Scratch 编程以及学习的创新方式。参与者能够与来自全球 Scratch 社区的教育工作者、开发人员和研究人员分享想法,讨论策略,并且参加实践研讨会。
2008 年 7 月 24 日到 26 日期间。MIT 的 Scratch 团队举行了首次全球 Scratch 社群聚会,名为“Scratch@MIT”。大约有 300 多位老师、研究学者以及软件开发者前来参加。此次研讨会的目的在于:
研讨会的第一个讲题是为一个更具创造力的社会播下种子,这个讲题由 MIT 媒体实验室的负责人 Mitchel Resnick 来主讲。
第二个讲题是:想象-编程-分享。这是关于 Scratch 线上社群的故事。Scratch 团队非常重视孩子们。他们邀请了四个在 Scratch 线上社群中表现很活跃的孩子。这些孩子来自世界各地。他们将参加本次会议的开幕演讲。