我第一次接触scratch是我女儿给我show off她自己做的一个小游戏。我仔细一看:这是你自己做的?做的不错嘛。拿什么做的?从而知道了Scratch。
Scratch的历史
Scratch是MIT一个实验室开发的一套电脑程序开发平台,旨在让小孩子不需先学习语言语法便能设计程序。小孩子只需要通过学习Scratch的基本功能,启发和激励用户在愉快的环境下去学习程序设计、数学和计算知识,同时获得创造性的思考,逻辑编程,和协同工作的体验。
Scratch 开发平台可安装在Mac OS X、Windows、Linux的平台上;自2.0之后,换用Actionscript编制,Scratch运行于浏览器。因此当前的版本编制的程序需要安装flash才能运行。下一版会基于html 5,这样就不需要flash插件了。
Scratch适用于6岁以上用户。即便用户从未学过程序编程,通过拖曳预先设定好的积木式程序模件,堆栈出指令,设置或控制角色及背景的行动和变化,从而完成程序设计。
Scratch边干边学
在线版
Scratch网站 https://scratch.mit.edu/
网站界面
在主页可以试试别人的例子,看看这个东西可以做成什么样子。然后可以自己试试这个scratch编辑器,然后建议注册一下scratch账号,可以参与scratch的社区。
离线版
在墙内上境外的网站比较困难,所以MIT也提供了离线版本。
Scratch离线版 https://scratch.mit.edu/download
离线版首先要安装 flash的插件,然后下载Scratch的离线编辑器,再下载一些资源。
如果能上网,建议使用在线版,因为在线版是一个社区。人们是很乐于分享的,孩子尤其如此。分享是使用Scratch 2.0编程过程中最基本的部分。Scratch 2.0应用程序项目可以通过互联网和Web浏览器来执行。一旦创建了项目,可以和Scratch社区中的每个人分享它。这意味着,其他的Scratch用户可以看到并执行你的Scratch项目。此外,他们还可以复制和修改你的Scratch项目,这个过程叫做再创作(remixing)类似于github的fork。通过再创作,用户可以学到一些新的知识或者展示他们自己的创新。
注意
Scratch 2.0的Web站点设计成了一个方便的社交社区,在这里可以和每个人分享Scratch项目。在Scratch 站点 (http://scratch.mit.edu) 上创建的项目,可以由所有的Scratch社区成员共享。
比如这个很受欢迎的程序有36000多颗星,280万人看过,被人remix过7907次。
除了可以浏览、执行和再创作你的Scratch项目,其他的Scratch用户还可以评论你的项目。通过这种方式,Scratch的用户可以和来自世界上任何地方的其他人彼此交互并分享信息和思路。通过在Scratch 2.0网站上以这种方式来方便地分享,我们可以鼓励孩子彼此分享他们的体验,并且由此获得成就感和信心。
小心
当分享的时候,Scratch项目的内容会自动地变得可以让整个Scratch社区看到和自由使用。项目的文件、图形和编程逻辑都是可供查看的。没办法将源代码隐藏起来。
上面那个程序还是比较复杂的,看看这个模块的数量和关系。
第一个Scratch 程序
点击主页面上的create,就进入了scratch 编辑界面。
旁边就是帮助你入门的一些最基本的教程,我们从这个演示开始:
这个很傻的演示各个要素基本上都有了。
第一步,选择motion组件,中间是10。缺省位移10步。
第二步,播放声音。选择声音组件
移动完成后,这个样子
然后再拖一个位移组件在声音播放下面,设定移动步长为10步。
然后再播放一段声音,可以选择4号声音。
弄完之后的应该是这个样子的:
现在就可以试试玩了,点flag,就会看到这只猫往前走10步,敲鼓,然后回退到原点再播放一个声音,非常简单。
看到没,就拖了4个积木模块,已经实现了最简单的动画功能。
为了让这个猫重复这个动作,选择control组件,中的repeat实现循环的功能
弄完以后是这样的:
拖一个说话组件,设置说话组件,设为你想说的话。
拖入一个触发器
你可以随时点击绿旗来运行程式。若要暂停,请点击红色停止图示。
到这里,猫的主要功能已经完成了。比上面的只会傻走来走去多了一些功能。下面可以增加一个当按空格键的时候,猫变颜色的功能。
选择外观变色模块,拖入到工作区。
在拖入键盘触发器
这里可以选择右向箭头,即当右向箭头被按下之后猫就变色。
为舞台添加新的背景,在角色区下图箭头所指之处,你可以选择预留的背景图,也可以选择电脑中的图片。
这样舞台的背景变了。
然后,可以添加一个独立的角色,通过下图的箭头所指之处选择一个角色。
设定这个角色的逻辑当绿色旗子按下之后,切换到下一个动作,等一秒,然后重复上面的操作。
完工了。可以点一下小旗子,就是下面这个效果。
你可以把你的结果保存一下,如果觉得满意也可以分享出去。
至此,第一个Scratch程序就搞定了。这个程序非常非常简单。但是这个程序中已经把很多问题涉及到了。
比如
-
顺序执行的逻辑。
-
同步的逻辑
-
并行的逻辑
-
监听/触发逻辑等等
程序设计的基本概念设计到了。但是你一行代码还没有写。你还不知道int和double有啥区别。
小结
因为Scratch入门超级简单,你不需要会写一行代码就能实现一些其他语言比较复杂的功能。但是很多人就会陷入一个瓶颈,觉得这个东西太简单了,没啥好玩的。而有的人去深入去做更加复杂的东西。更加关注逻辑和创意方面的东西。可以让孩子看看那些非常popular的程序后面上百个script是不是能够看懂,能否改个remix。编程提高最快的办法是看高手写的代码。