本页使用了标题或全文手工转换

Scratch

来自游戏百科书wiki
跳到导航 跳到搜索
Scratch
Scratch Logo.svg
编程范型指令式事件驱动
设计者Mitchel Resnick
实现者麻省理工媒体实验室 终身幼稚园组
发行时间2006
稳定版本
3.0(在线版)/3.9(离线版)
(2019/12/2)
类型系统动态
实现语言Squeak(v1.4前)
Actionscript(v2.0)
HTML5 (v3.0)
操作系统Mac OS XWindowsLinux
许可证开放原始码GPLv2和封闭性软件
文件扩展名.sb、.sprite(v1.4前)
.sb2、.sprite2(v2.0)
.sb3、.sprite3(v3.0)
网站https://scratch.mit.edu/
主要实现产品
Scratch
启发语言
LogoSmalltalkHyperCard
StarLogoAgentSheetsEtoys

Scratch麻省理工媒体实验室终身幼稚园组开发的一套电脑程序开发平台,旨在让程序设计语言初学者不需先学习语言语法便能设计产品。开发者期望通过学习Scratch,启发和激励用户在愉快的环境下经由操作(如设计交互故事、多人游戏)去学习程序设计数学计算知识,同时获得创造性思考逻辑编程,和协同工作的体验。由Mitchel Resnick和Andrés Monroy-Hernández创立。

Scratch开发平台可安装在Mac OS XWindowsLinux的平台上;自2.0之后,换用ActionScript编制,Scratch已于2019年1月2日发布3.0正式版,换用HTML5编制。Scratch运行于浏览器。Scratch原始码完全开放(但小猫图案和Scratch名称受著作权保护)。[1]

概览[编辑 | 编辑源代码]

Scratch测试由麻省理工媒体实验室终身幼稚园组于2006年发布[2]

Scratch适用于8岁以上用户。即便用户从未学过程序设计,通过拖曳预先设定好的积木式程序模件,堆栈出指令,设置或控制角色及背景的行动和变化,从而完成程序撰写[3][4]

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被学校博物馆 [5]社区中心等用作教学展示。例如,香港青年协会经常举办Scratch体验活动,以推动学生发挥创意[6][7][8][需要更好来源]。Scratch亦附设不同的语言界面,方便非英语用户使用。[9]此外,Scratch-TW则搜集了Scratch相关的在线资源、介绍影片、创意程设思维教材[10],并进行中文化,以便台湾用户之使用与推广。均一教育平台也制作了一系列Scratch 3.0基础课程,免费开放令教师、家长与学生能在线自学Scratch。

在线社区[编辑 | 编辑源代码]

Scratch设立了一个在线社区,其口号为“想像·编程·分享”,分享和创意是Scratch最重要的理念[11]

Scratch最终成品并非原始码,而是所有角色的行为和结合。用户可以将源文件案上传至在线社区以供分享。在线社区的成员可以自由下载该项目的原始码,来研究该项目的结构[12][13]。除此之外,各成员可自由评论、标签和“赞”不同的项目以及发表和分享意见。

在线社区中有不同类型的项目,范围包括游戏动画演示稿聊天机器人。所有项目都以创用CC的特许方式发布,也可透过Java appletFlash Player播放。在线社区每月都有着一百万点击率,且拥有接近55,000,000已登记成员(截至2020年5月)[14],以及超过五千五百万份作品在在线社区上分享[15]。该在线社区随后开设了不同网页,如ScratchEd和ScratchJR等,以促进各用户的交流。[16][17]

云端平台[编辑 | 编辑源代码]

自Scratch 2.0版本起,Scratch团队搭建了一个网站以供用户们在线上传项目,以及预览他人的项目。[18]

派生软件[编辑 | 编辑源代码]

Scratch有派生出其它软件[19],例如 Snap![20]

争议[编辑 | 编辑源代码]

2020年8月21日中国网报道,Scratch被发现在注册账户时,将“香港”“澳门”“台湾”与“中国”并列划入“国家”一栏。在平台的开放论坛上有部分用户上传的反中华人民共和国言论,包括港独台独、“借中美贸易摩擦抹黑中方”等言论。目前,Scratch官网、论坛和wiki已被中国大陆防火长城屏蔽,在中国大陆无法正常访问,软件仅支持离线版本编程。[21]

另见[编辑 | 编辑源代码]

参考资料[编辑 | 编辑源代码]

  1. 存档副本. [2020-06-22]. (原始内容存档于2020-06-26). 
  2. 麻省理工大学; Mitchel Resnick, John Maloney, Andres Monroy-Hernandez, Natalie Rusk, Evelyn Eastmond, Amon Millner, Jay Silver, Eric Rosenbaum, Karen Brennan, Amos Blanton, Brian Silverman, Paula Bonta, Yasmin Kafai, Kylie Peppler. Scratch: imagine, program, share. 麻省理工大学. [25 May 2007]. 
  3. Scratch - Imagine, Program, Share. scratch.mit.edu. [2018-11-20]. 
  4. Scratch: Programming for All. Resnick, M., Maloney, J., Monroy-Hernandez, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., Kafai, Y. (2009). Scratch: Programming for All. Communications of the ACM, November 2009
  5. Bricolage. [2018-11-20]. 
  6. 青年协会. Scratch创意体验学习活动 ─ IVE Tsing Yi. 2011-08-19 [2012-06-26] (中文(香港)‎). 
  7. 青年协会. Scratch Day Hong Kong 2010 – 记者现场报导. 2010-05-26 [2012-06-26] (中文(香港)‎). 
  8. 青年协会. LEAD @ e-zone科技创意夏令营2011. 2011-08-16 [2012-06-26] (中文(香港)‎). 
  9. Scratch - About. scratch.mit.edu. [2020-05-02]. 
  10. Chung, Karen Brennan, Christan Balch, Michelle. Creative Computing. scratched.gse.harvard.edu. [2016-07-25]. 
  11. https://scratch.mit.edu/
  12. Monroy-Hernández, A., Hill, B. M., González-Rivero, J., boyd, d. (2011) Computers Can't Give Credit: How Automatic Attribution Falls Short in an Online Remixing Community. In Proceedings of the 29th International Conference on Human Factors in Computing Systems (CHI '11)[永久失效链接]
  13. Hill, B.M, Monroy-Hernández, A., Olson, K.R. (2010) Responses to remixing on a social media sharing website. In AAAI International Conference on Weblogs and Social Media (ICWSM '10) 互联网档案馆存档,存档日期2012-10-12.
  14. 存档副本. [2012年6月26日]. (原始内容存档于2012年4月22日). 
  15. Scratch usage statistics 互联网档案馆存档,存档日期2013-05-29.
  16. 存档副本. [2010-07-28]. (原始内容存档于2011-07-06). 
  17. ScratchEd. scratched.media.mit.edu. [2018-11-20]. 
  18. Scratch - Imagine, Program, Share. scratch.mit.edu. [2018-11-20]. 
  19. Blocks - Scratch Wiki. wiki.scratch.mit.edu. [2018-11-20]. 
  20. Snap! (Build Your Own Blocks) 4.2. byob.berkeley.edu. [2018-11-20]. 
  21. 林伊人. 少儿编程平台Scratch被曝辱华 行业人士:应大力发展本土计算机编程语言_新闻中心_中国网. news.china.com.cn. 2020-08-21 [2020-08-23] (中文(中国大陆)‎). 

外部链接[编辑 | 编辑源代码]