今天我们要用Scratch编出第一个作品啦!
在开始之前,我们先来了解一个重要概念,那就是---“事件”。
我们平时会遇到各种各样的事件,有些是意料中的,有的是意料之外的,而每个事件的发生,都会引发你做出一些后续动作。
举个例子说明一下:
比如你作为一个少侠,本来好好的在家里苦练绝世武功,这时突然有人从窗户扔进一把飞刀,以迅雷不及掩耳盗铃之势扎在了你家电视上,飞刀上带了一个小纸条,打开一看上面写到:
“华山论剑于今晚8点开始,速速前去!”
你看到后倒吸一口凉气:我初入江湖,行事极为低调,可是他们还是发现了我会绝世武功这个秘密,好吧!看来没有必要再隐藏我的实力了。于是你马上拿起包袱,夺门而去。。。
大家注意,这个“飞刀传书”就是一个“事件”,而收到这个事件后,你“拿起包袱”以及“夺门而去”,就是这个事件引发的你的动作。
我们编的程序,它并不知道自已该什么时候开始运行,需要我们通知它。在编程序的语言里,通知程序开始执行,就是依靠“事件”,事件的触发,就是我们程序执行的入口。
有的少侠告诉我,在线的Scratch太慢不好用,所以为师给你们做了一个本地版本(名字叫QRobot少儿编程软件,放心他跟Scratch一样,放心用吧),可以直接在电脑上用,不需要联网也可以用,下载地址如下,安装很容易就不说了:
https://pan.baidu.com/s/1qZEs1CK
请诸位打开软件,在“脚本”里面,我们可以看到“事件”这个积木块类型,请点击它。
(现在开始,我们把脚本里面所有的小块块都称为积木块,相同属性的积木块都归到一个积木块类型里面,比如“事件”,“动作”等都是一个个积木块类型。)
从这个图可以看到,“事件”这个积木块类型里面,有各种各样的积木块,他们大多数都代表一个“事件”的发生,有的是代表主动去触发一个事件。
我们拿第一个来讲解一下:
这个积木块表示当绿色旗子被点击的事件发生,如果我们希望用点击绿色旗子来启动程序执行的话,就要用到这个积木块。我们现在就把这个积木块拖进我们的程序窗口,像是这样:
这样一来,如果我们点击绿色旗子,就相当于扔了一把飞刀进窗户。。。。
(扔飞刀也挺累的,所以我们休息一下,顺便找找绿色旗子倒底在哪儿?)
好了,现在飞刀已经扔进来了,接下来,该让我们的角色“收拾包袱”了。
不管是“收拾包袱”或者“夺门而去”,都是我们的“角色”所做的动作,所以我们需要在“动作”这个积木块类型里去找,请打开“动作”积木块类型,如下图:
这个积木块类型定义了我们的“角色”所能完成的所有动作,比如移动,旋转之类的。
(这里面怎么没有“收拾包袱”啊?更没有“一阳指”之类的武功绝学啊?嗯,毕竟Scratch是老外做的嘛,根本没有考虑我们武林人士的需求,所以我们只好让“角色”做点别的动作了。。。)
现在我们要做的是,当我们点击绿色旗子之后,让这个小猫,也就是我们的“角色”往前走50步的距离,勉强算“夺门而出”了吧?
我们要用到的是这个积木块:
将它拖到程序区,并跟绿色旗子被点击这个积木块连接起来,然后把积木块默认的10步改成50步,最终的程序像是这样:
好了,程序这就样编写完成了。这个程序是当我们点击绿色旗子启动程序后,小猫向前走50步的距离。
现在可以来运行一下,用鼠标点击绿色旗子看看效果吧。
程序执行正确,你会看到小猫向前走了一段距离。
很好,到目前为止我们已经编了一个真正的Scratch程序了,可是,如果今天只是编这样一个程序,那我们的第一个作品就太让人失望了,所以下来我们做一个稍微复杂点的程序。
我们今天要完成的作品,是用电脑的方向键来控制这个小猫,当我们按下不同的方向键时,小猫就向这个方向进行移动。
要实现这个功能,我们不能再用绿色旗子这个事件了,因为是要用键盘控制,那么触发的“事件”应该是按下按键。
在“事件”积木块类型中,我们找到这个积木块:
这个积木块表示当按下电脑上某个按键的事件,这个按键是可以选择的,大家注意在积木块上面有一个向下的小小的黑色三角,点击这个三角就可以选择我们需要的按键。
按我们的要求,我们现在需要拖入4个这样的积木块,并分别将按键选择为“上移键”,“下移键”。。。。完成后如下图所示(当然首先要把我们之前编的程序先删除掉):
“事件”布署完毕,接下来该加入相应的动作了。
可是,不知道大家是否意识到,我们碰到了一个问题:在“动作”积木块类型里面,只有一个移动积木块,并没有区分是向左还是向右,更没有向上和向下,那如何实现这些方向的移动呢?
把我们自已想像成这个猫,如果我们向前走了10步,然后被人要求要退回来,那我们是咋做的呢?
当然我们可以倒着走,不过更好的办法是,我们先转身回来,然后走10步对吧?当我们转身以后,我们还是“向前”走,只不过因为我们面对的方向已经反过来了,所以实际上我们是在“向后”走。
回到我们的程序,我们也需要这样一个“转身”的动作,使角色知道自已应该往哪个方向移动。
还是在“动作”积木块类型里面,我们找到如下的积木块:
这个积木块的作用,就是完成使角色转向不同的方向,通过点击积木块上黑色小三角就可以进行选择,它不仅可以控制上下左右,甚至可以设定任意角度,这个以后再说。
我们现在先将这个积木块分别拖到刚刚我们写的4个事件下面,并进行方向的选择,完成后如下图:
然后,我们再加入移动积木块,完成后如下图:
好了,现在程序终于编完了,现在你可以在电脑键盘上按下方向键,看看你的小猫是不是很“听话”的按你的操作在移动呢?
现在,可以恭喜你了,你已经完成了你的第一个Scratch编程作品,虽然看上去还是比较简单,但它是真正的一个程序。
今天我们学习了“事件”,“动作”,并介绍了几个积木块的使用,大家记住,相同积木块类型里的所有积木块的使用方法都是一样的,在这个原则下,我鼓励大家大胆的尝试,去使用我们还没有提到过的其它积木块,看看你能不能让你的小猫做点不同的事情?
就跟我们在学校放学的时候要留点家庭作业一样,下面几个工作也需要你来完成:
1.编个程序实现:当点击绿色旗子后,小猫向前走50步,然后再退回来50步回到原点。
2.在第1个任务完成后,思考一下,如果我们需要小猫不停的向前向后移动,怎么实现?
3.在第2个任务完成后,深入思考一下,自已有没有扫下面的二维码关注?另外有没有把这个文章分享出去?
领取专属 10元无门槛券
私享最新 技术干货