少儿编程Scratch3.0教程——05 事件积木(基础知识)(文字版)
在前面的课程中,你已经学习了使用动作积木来让角色移动,使用外观积木来让角色变换造型,使用声音积木来让角色发出声音,以上这些积木块的效果,你都可以从舞台上看见它们或是听见它们。接下来,你就要学习一种比较抽象却十分有用的积木类型,事件积木。
这篇文章主要分为3个部分:
1、什么是事件?
2、外部事件和内部事件
3、并行事件
第一,什么是事件?
在你每天的生活中会去做许多的事情,而做每件事之前往往都有一个触发条件,达到这个条件后,你就会开始做事。这个条件可能是时间,可能是地点,可能是某个人对你说的话等等。
例如,到了早上9点钟开始上课,就是一个时间事件。回到家里就要换鞋,就是一个地点事件。妈妈让你去买一瓶酱油,就是一个消息事件。
和现实中的事件一样,在Scratch中想要开始做某件事,也需要一个事件来触发。
第二,外部事件和内部事件
在Scratch中的事件大致分类两类,一种是舞台之外触发的事件,把它们归为外部事件,例如我们之前一直在用的当绿旗被点击事件。另一种是舞台内角色之间相互触发的事件,把它们归为内部事件,例如上个游戏中用到的接收和发送消息事件。
外部事件
外部事件包括当绿旗被点击积木,当角色(舞台)被点击积木,当按下。。。积木,当舞台被点击积木,当。。。>N积木。
在前面的课程中,你已经提前使用过当绿旗被点击积木和当角色被点击积木。
当绿旗被点击积木是Scratch中最常用的事件积木,绿旗就像是你玩游戏时的开始按钮,点击该积木之后,后面的其他积木就会开始执行。
和上面的积木类似,使用当角色(舞台)被点击积木之后,点击相应的角色或者舞台就会开始执行后面的其他积木。
当按下。。。积木所对应的是键盘上的按键,当点击所选择的按键时,就会开始执行后面的其他积木。
当。。。>N积木是一种特殊的事件积木,其中有两个选项,响度和计时器。
响度就是电脑麦克风所接受的音量大小,计时器是Scratch自带的一个计时功能,当打开Scratch应用程序时,计时器就会开始记录程序的运行时长(单位秒),具体的数值可以通过侦测积木中的计时器积木查看。
当接收到的音量大小和程序运行时长超过积木中设置的数字时,就会开始执行后面的其他积木。
内部事件
内部事件包括当背景换成。。。积木,当接收到。。。积木,广播。。。积木和广播。。。并等待积木。
在上节课的游戏中,你已经使用过了当接收到。。。积木,广播。。。积木,它们是用于不同角色之间传递消息。这就像是现实生活中,你可以通过说话、面部表情或是肢体动作等方式给其他人传递消息,当他们接收到你的消息后,就可以按照你的消息内容执行后面的操作。
在Scratch中就是通过广播。。。积木和广播。。。并等待积木来发送消息,使用当接收到。。。积木接收到广播消息,然后执行后面的其他积木。
两个广播消息的区别是,广播。。。积木将消息发出去后就立即执行它后面的其他积木,广播。。。并等待积木将消息发出去以后,会等待其他角色接收并执行完所有操作,然后再接着执行它后面的其他积木。所以说,如果接收消息积木后面的积木会一直执行永不结束的话,那广播。。。并等待积木后面的积木也就永远没办法开始执行。
当背景换成。。。积木是当你使用外观指令切换到所选背景时,开始执行后面的其他积木。
以上,就是所有的事件积木。如果你注意观察,事件积木和之前学过的积木形状会有不同。之前的积木上面有个凹陷,底部有一小块是凸出来的,互相之间可以连接在一起。而事件指令上面是弧形像个帽子,只有下面才可以拼接其他积木,说明事件积木是其他积木的开始按钮,只有事件满足之后,才可以开始执行其他指令。
第三,并行事件
当你将积木一个一个拼接在一起之后,他们会按照顺序执行,例如下面的例子,当你点击角色之后,它会先说“向前走”,2秒之后再往前移动10步。
如果你希望角色一边说向前走,一边往前移动的话,应该怎么做?实际上,多个事件积木是可以并行同时执行的。你可以使用多个事件积木分别做不同的事,当事件被触发时,他们就会同时执行。
例如,使用两个当角色被点击积木,一个后面拼接说话积木,另一个后面拼接移动积木,这样当你点击角色时,它就会一边说话一边向前移动。
以上就是事件积木的全部内容,因为事件积木不像之前学习的积木一样,可以直接看见和听见效果,所以更需要你亲自动手去使用它们,感受一下每种事件各自的触发条件。
如果你在学习过程中遇到问题无法解决,你可以扫码关注我的微信公众号“梦世界”给我留言,或是加入我所建的微信交流群中给我反馈(微信公众号中给我留言,我会拉你入群),我会对你的提问一一进行解答。
在下一篇文章中,我还是将会引导你利用上面的内容来完成一个简单的动画,我们下节课再见。
Talk is cheap. Show me the code...
如果你看完以上内容,对少儿编程感兴趣,有初中以下想学习编程或者数学思维课的小朋友,欢迎联系。如果你有Web应用系统、手机APP、微信小程序等软件开发需求,也欢迎与我联系。期待能与你共同进步。。。
0条留言