欢迎光临
我们一直在努力

【编程 | scratch】[01] 少儿编程scratch入门

最近一年接到了无数少儿编程业务员的电话,想着小朋友还小,一直没怎么理会,尽管如此,微信里还是加了不少相关的好友,最近推脱不过,恰好今天大“山竹”搞得出不了门,就让小朋友体验了一把,顺便本人也学习了下scratch。

大人都不懂编程,少儿也能学编程?

其实不必惊讶,此编程不是成人世界中的编程,少儿编程主要有scratch、kodu等方向。

Scratch介绍

根据百度百科上的介绍:

Scratch是一款由麻省理工学院(MIT) 设计开发的少儿编程工具。其特点是:使用者可以不认识英文单词,也可以不会使用键盘。构成程序的命令和参数通过积木形状的模块来实现。用鼠标拖动模块到程序编辑栏就可以了。

明白了吧,此类编程都是积木似的,主要的功能已经按模块定义好了,编程的时候只要像搭积木似的将各模块堆积起来就可以了。

版本获取

在百度上搜索“Scratch”,人眼过滤掉前面那10多条广告后,如果发现链接地址中有“scratch.mit.edu”这样的字样,就可以点进去了,就可以进入Scratch的官网。

当前版本是2.0,基于flash,所以安装Scratch之前需要先安装Adobe AIR。

正在测试的3.0版本是基于html5的,就不需要过时的flash了,目前有测试版本可以体验。

本文还是以2.0为主,因为无法插入外链,本人只能提供下当前离线版的下载地址,方便读者依样画葫芦地在浏览器里输入。

安装完毕后,第3步里的《Getting Started Guide》和《Scratch Cards》都是英文版本的pdf学习资料,可以下载下来看一看,《Starter Projects》是一些示例,也可以下载下来学习学习。当然,也可以不去点击它。

scratch安装

离线安装包下载下来后,下一步下一步就安装完成了,默认安装在“C:\Program Files (x86)\Scratch 2”下。

本来以为会根据操作系统自动选择中文,但安装完后却发现是英文版,这对我来说有点不大友好。

找了一圈,发现点击下左上方的那个球形图标可以切换,切换成中文后界面就友好多了。

学习资料

可以通过如下途径提升编程水平:

下载页第3步里提供的一些入门PDF材料和开发示例;

在官网上注册,加入开发社区,得到全球开发者分享的案例;

官网上提供了大量作品及开发细节,可供学习参考。

运行Scartch,会看到如下图所示的界面。

如果点击下上图类别区域里的造型,并选择第二个造型,可以看到角色区、舞台区、脚本区里的小猫都变了。

这些区域看起来也不太难懂,下面我们就让小猫动起来吧。

运动模块让小猫动起来

怎么让小猫动起来呢?

为了让小猫动起来,我们就需要用到脚本区域里的运动模块。

依次点击“脚本”、“动作”,就可看到可以使用的动作模块列表,当然,这些都是打开软件界面后默认展示的。

不停地点击运动模块或脚本区里对应的动作,发现小猫真的不断地往前移动了呢。

事件控制模块让手指得到解放

那这样手指多累啊,有没有懒惰点的办法?试试舞台区右上角的那朵旗帜吧,那可是运行按钮,按道理点击它就可以让脚本运行起来。

怎么回事,点了一点用都没有,小猫一动也不动。

这里我们需要引入事件模块,整个动作是不是可以描述成:

是的,当我们需要用到“当xxxx的时候,就需要做xxxx”的时候,就需要使用事件模块。

oh,yeah!现在点下“旗帜”图标时,小猫会自己动了,可是美中不足的是,小猫走了一点点远就停下来了。

控制模块让小猫停不下来

我们想让小猫停不下来,那这是不是想要控制小猫的行为呢?这里就需要用到控制模块。

我们想控制小猫不停地走动,那是不是得让小猫重复不断地执行前面那个走路的动作呢?

我们把“重复执行”这个控制模块拖到脚本区,放置在事件模块和动作模块之间,表示:

当“旗帜”按钮被执行的时候,就让小猫重复不断地往前移动10步。

没错,当脚本运行的时候,小猫根本就停不下来了。

控制模块和侦测模块让小猫原路返回

这只小猫太离谱了,走动的时候根本就停不下来,竟然还走丢了。

为什么呢?因为舞台区是有限的,小猫一只往前走,没走几下就走出舞台区了,看不到,丢了,这可怎么办呢。

这里就需要用到“侦测”模块。

那我们把思路整理下,应该是这样的:

当“旗帜”按钮按下的时候,小猫就不停地往前走,如果碰到了舞台区边缘,小猫就往回走。

大家仔细看看上面的描述,“如果xxx,就xxx”这是不是也是一套控制逻辑呢?

另外,往回走这个动作是什么呢?“左转180度”、“碰到边缘就反弹”,还是“面向xx方向”?不知道,那我们就一一尝试下呗。

没错吧,应该就是这样,不过小猫碰到边缘难道不疼么?我们让它叫声“喵”怎么样?

另外,小猫走得太快了,我们让它走慢点,或者碰到边缘的时候休息下?

不愧是面向少儿编程的,稍微弄了下,感觉so easy啊,我也可以去教小朋友了吗?

下面是我本次学习的劳动成果展示:

分享与展示

作品完成后,我们怎么保存和分享呢?

我们可以把脚本保存下来,如果有在官网社区注册账号的话,还可以将作品分享到官方社区。

另外,还可以录制成视频,不过目前只支持flv格式的视频,需要其他第三方工具才可以转换成mp4等格式的视频。

今天小朋友上课的时候,我正在鼓捣魔方,结束的时候,发现老师和他一起做了个美丽的泡泡小动画,类似于下面这样。

泡泡动画分解

仔细观察上面的视频,发现屏幕上的不同位置会依次连续出现不同颜色和大小的泡泡。注意到了没有,这个动画有些关键的信息需要理清:

泡泡出现的时间有先有后

泡泡有大有小

泡泡位置不重复

泡泡颜色五彩斑斓

泡泡要怎么画

泡泡的大小、粗细、颜色都不一样,它们都是随机产生的。那我们整理下思路,是不是这样的呢?

当按下“旗帜”按钮的时候,我们重复不断地画泡泡。这些泡泡有什么属性呢?它的大小是随机的,它的颜色是随机的,它的位置也是随机的。

怎样画泡泡?

找来找去,发现只有“画笔”可以满足画画的需求。

画的时候画笔可以设置大小(粗细)、颜色、高度、亮度等属性,那就解决了泡泡的大小和颜色的问题。

在哪里画泡泡?

要在屏幕某个地方画泡泡,那就应该有个坐标体系来定位位置,找了半天,只有在运动模块下有位置控制的模块。

随机数怎么产生?

找来找去,发现运算模块下有个随机数生成的功能,就是它了。

画一个泡泡试试?

设置了如下脚本,可是运行起来一点反应也没有,百思不得“姐”啊。

仔细观察,这个抬笔和落笔是干嘛的呢?加进去,搞定,泡泡画出来了。

这个小猫是不是有点煞风景?本节主题是泡泡,这个小猫跑出来干嘛?

点来点去,不小心点到了外观模块下的“隐藏”按钮,哈哈,小猫消失了。

画十个泡泡试试?

把上面的动作重复10次,那不就完成了吗?不对,那这样是原地踏步,画了10次都重复覆盖了,看起来好像就画了一个,我们得在不同的位置画起来。

使用上述脚本是画了10个泡泡,可是泡泡的粗细设置过大,画完后看不出是泡泡,我们将粗细改成10,运行的时候发现一点动静也没有。怎么回事呢?

原来是后面画的泡泡太小了,上一次画的泡泡没清空,所以后来画的泡泡根本就看不出来。

不知道大家注意到没有,这次的脚本里,隐藏和清空按钮放到循环控制模块外面去了,因为当脚本执行的时候,小猫只需隐藏1次就够了,旧泡泡也只需清空1次,没必要重复执行多次。

另外,当我们把x和y坐标设置在0-100内的时候,发现所有的泡泡都出现在屏幕的右上角,说明坐标的原点在舞台区的中心位置。后续我们可以改成从负数开始,这样就可以遍布舞台区的整个区域。

泡泡的颜色、大小和位置能随机吗?

重新调整了下脚本,将位置、大小和颜色都用随机数来控制了,可是颜色很少,感觉就只有蓝黑两种,颜色的最大范围究竟是多少呢,这估计得去查帮助文档了。

本人偷懒,尝试了很多次,猜测颜色值的上限可能是256x256x256甚至更大,这未免太不好填写了,不查文档就不知道颜色是怎么计算的。

最后又调整了一次,这样看起来是不是梦幻一些了?泡泡生成完毕后,还弹奏了一个音符来通知下。

怎么样呢?Scatch编程是不是很简单,还需要去花那些冤枉钱去让小朋友学吗?

赞(36)
分享到: 更多

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址