Scratch编程——事件控制篇

网友投稿 2018-03-05 18:41

    彤爸的工作是做工业自动化的,经常和变频器呀,PLC(可编程控制器)呀打交道,工厂里面的机器设备都少不了这些东西的控制。比如当工人按下启动按钮的时候,机器开始运行;当设备移动到一个特定位置时立刻停机;当这一道工序执行10次以后开始执行下一道工序,等等。我们所说的这些情景就都属于事件触发和控制的过程。

    Scratch编程也有类似的机制,来控制程序脚本的开始或停止,控制程序脚本执行的步骤和次数等,也就是事件和控制栏。

https://cdn.china-scratch.com/timg/180307/1T12W4T-0.jpg  

https://cdn.china-scratch.com/timg/180307/1T1292P8-1.jpg

    在事件栏和控制栏中的很多语句我们在之前篇章的实例程序中都使用过,比如“当绿旗被点击”,“当角色被点击”,“重复执行10次”,“如果<条件>,那么。。。”等。这里“当绿旗被点击”和“当角色被点击”都属于事件栏,是用来触发一段程序脚本开始执行的条件,我们可以称之为:条件触发。在上面所列出来的语句中可以看到还有一些别的条件也可以作为一段程序开始的触发,比如按下空格(或其他)按键,舞台背景切换,接收到的响度等。除此之外,还有一种条件是“当接收到消息1”,这也是一种常用的条件触发,经常用在两个角色的互动。例如下面的程序示例就是当我们点击铃铛角色时向外广播“前进”消息,而对于小猫角色就是当接收到“前进”消息,向前移动10步。这样通过这个“前进”消息,我们连接了两个不同的角色,让它们之间产生了互动。

https://cdn.china-scratch.com/timg/180307/1T1295206-2.jpg

https://cdn.china-scratch.com/timg/180307/1T12953U-3.jpg

    在控制栏中,最常用的语句就是各种循环语句和条件判断语句。下面的三段程序分别使用了固定次数的循环语句,无限循环语句加条件判断语句,和循环直到满足条件语句,但是它们实现的结果都是一样的——让小猫向前移动50步,殊途同归,只是表达的方式不同而已。这里还使用了一种“停止语句”,它可以作为一段程序脚本的结束,或者跳出当前的循环等作用来使用。

https://cdn.china-scratch.com/timg/180307/1T1296148-4.jpg

https://cdn.china-scratch.com/timg/180307/1T1295W2-5.jpg

https://cdn.china-scratch.com/timg/180307/1T12a349-6.jpg

    在控制栏中还有一类语句是关于克隆的,克隆是将当前角色复制显示在舞台上,这样当我们需要很多相同的角色时就不用建立那么多单独的角色了,可以直接用克隆语句来实现角色的复制。例如下面的程序就可以复制出10个小猫的克隆体,显示在舞台的随机位置上。

https://cdn.china-scratch.com/timg/180307/1T1291427-7.jpg

    可以说事件和控制语句是让我们的Scratch程序活起来的最有效的武器。只有有效灵活的使用这一类语句才能让我们的小小舞台上的角色变得有生命,有色彩,按照我们的期望完成任务。现在,我觉得我们里一个合格的Scratch达人已经不远了。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com