本条目中的部分或全部内容转载自维基百科,链接为 https://zh.wikipedia.org/wiki/Scratch。
更多内容详见寻星:版权。如果您有能力贡献更优质的内容,请协助编辑。
Scratch是麻省理工媒体实验室终身幼稚园组开发的一套高阶的积木块为基础的可视化程序设计语言开发平台,于150多个国家和地区公开,并提供60多种语言版本。由Mitchel Resnick和Andrés Monroy-Hernández创立。
Scratch最初可安装在Mac OS X、Windows、Linux的平台上;2.0改使用ActionScript编制,3.0改使用HTML5编制,并可运行于浏览器。
主旨[编辑 | 编辑源代码]
Scratch让程序设计语言初学者不需先学习语言语法便能设计项目。开发者期望通过学习制作Scratch,启发和激励用户在愉快的环境下经由操作(如设计交互故事、多人游戏)去学习程序设计、数学和计算知识,同时获得创造性的思考、逻辑编程和协同工作的体验。
概览[编辑 | 编辑源代码]
Scratch测试由麻省理工媒体实验室终身幼稚园组于2006年发布。
Scratch适用于全年龄层用户。即便用户从未学过程序设计,通过拖曳预先设定好的积木式程序模件,堆栈出指令,设置或控制角色及背景的行动和变化,从而完成程序撰写。
Scratch的1.x版本用Squeak编写,从2.0开始改为ActionScript,自3.0后使用HTML5。Scratch 可安装其发行的应用程序进行离线编辑。其中,1.x及2.0版本需要flash插件,3.0则不需要使用。
接口与功能[编辑 | 编辑源代码]
Scratch开发平台的用户界面分为四部分:程序模件列表,程序设计平台,预览窗口和角色列表。
在1.4版本中,程序模件列表将其分为8类:动作、外观、声音、画笔、控制、侦测、运算、变量。2.0版本中,有动作、外观、声音、画笔、变量、事件、控制、侦测、运算符和逻辑运算,更多模块。3.0版本中,有动作、外观、声音、事件、控制、侦测、运算符和变量(云端变量)、函数积木等,另外可以通过扩充功能增加更多模块,有画笔、摄影机等,还能连接游戏手柄。程序模件各有不同的颜色和形状,以便识别。
Scratch利用“广播”功能实现事件驱动,协调各个子程序的运行。Scratch能提前导入图片、音频素材,支持一维数组,以功能封装的方式简化了角色碰撞检测功能。Scratch不易出现导致程序完全无法运行的严重错误。
主要不足:Scratch没有针对电脑文件的输入/输出功能,不支持多维度表格序列的嵌入,自定义子程序不支持设置形式参数也不支持设置返回值,无法进行角色的局部碰撞检测,缺少并发控制,不方便进行逻辑条件的复杂组合,调试困难。
用户社群[编辑 | 编辑源代码]
Scratch被学校、博物馆、社区中心等用作教学和展示。例如,香港青年协会经常举办Scratch体验活动,以推动学生发挥创意。Scratch亦附设不同的语言界面,方便非英语用户使用。此外,Scratch-TW (页面存档备份,存于互联网档案馆)则搜集了Scratch相关的在线资源、介绍影片、创意程设思维教材 (页面存档备份,存于互联网档案馆),并进行中文化,以便台湾用户之使用与推广。均一教育平台 (页面存档备份,存于互联网档案馆)也制作了一系列Scratch 3.0基础课程 (页面存档备份,存于互联网档案馆),免费开放令教师、家长与学生能在线自学Scratch。
在线社群[编辑 | 编辑源代码]
Scratch设立了一个在线社群,其口号为“想象·编程·分享”,分享和创意是Scratch最重要的理念。
Scratch最终成品并非源代码,而是所有角色的行为和结合。用户可以将源文件案上传至在线社群以供分享。在线社群的成员可以自由下载该项目的源代码,来研究该项目的结构。除此之外,各成员可自由评论、标签和“赞”不同的项目以及发表和分享意见。
在线社群中有不同类型的项目,范围包括游戏、动画、演示稿和聊天机器人。所有项目都以知识共享的特许方式发布,也可透过Java applet或Flash Player播放。在线社群每月都有着一百万点击率,且拥有74,734,356名注册成员,以及超过八千二百二十六万份作品在在线社群上分享(截至2021年8月6日)。该在线社群随后开设了不同网页,如ScratchEd和ScratchJR等,以促进各用户的交流。
云端平台[编辑 | 编辑源代码]
自Scratch 2.0版本起,Scratch团队搭建了一个网站以供用户们在线上传项目,以及预览他人的项目。
派生软件[编辑 | 编辑源代码]
Scratch有派生出其它软件,例如 ClipCC 等。