事件(event)积木的“事件”二字远不如运动、外观、声音等容易理解。它在编程领域是个重要的常见概念,常见到根本不用给出一个具体的概念表述,程序员们就都理解它的含义、它的作用。对于处在入门阶段的大家,我还是给一段描述,以便大家理解。
事件积木是作用是触发程序运行。这类积木会检测鼠标点击、键盘按下等类似的用户交互或程序内部交互,当这些事件发生后,积木下面的程序开始运行。所以,事件积木一定是某段程序的第一块积木,是程序的起始点。事件积木就像电器的开关。
之前文章中的程序演示,我们都是直接点击右侧程序区的第一积木来触发程序运行的,这样的做法在程序简单、短小时看不出什么问题,但是当程序复杂,比如多个角色、多段代码同时运行时,这样就不行了。所以,为了让大家养成规范编程的习惯,后续的程序实例,我们都会通过事件积木来触发程序运行。
01 最常用的事件积木
这三个积木的作用分别是
1. 当舞台右上角旗子被点击时,该积木被触发
2. 当键盘某个按键被按下时,该积木被触发
3. 当当前的角色被点击时,该积木被触发
其中,第二个功能更丰富一些,它有如下的下拉选项可以使用:空格键、四个方向键、0~9这10个数字键、a~z的字母键,还有任意键,也就是键盘上随便点击一个按钮就能触发这个积木。另外,需要特别注意的是,a~z字母键是不区分大小写,专业术语是“大小写不敏感”,意思是,如果下拉选择了b,那么点击小写b和大写B都会触发这个积木。
下面一个示例演示了以上三个积木:
02 当背景切换积木
有时背景不同角色会有相应的表现,此时这个积木就派上了用处。正如下面的例子,在沙漠背景下,小猫会说热;在冰雪背景下,小猫会说冷。
03 当xx>n积木
这个积木的功能很容易理解,比如,上图是说“当响度的数值大于10的时候,这个积木会被触发”,因为简单,所以不再举例演示。
积木的下拉菜单中有3个选项,分别是:响度、计时器、视频移动。
响度、计时器、视频移动都是侦测类积木里的内容,请查阅文章
《Scratch侦测积木》
了解详情。
04 广播积木
我们已经知道,Scratch可以新增多个角色,每个角色可以独立编码完成属于自己的事情(逻辑)。可是,不同角色之间怎么才能互相合作完成更负责的事情呢,有不同角色之间通讯的方法吗?
那么就要说到“广播”积木了。
这里的“广播”二字和现实世界中的意思、作用等都很相似。
举个现实生活中的小场景,广播电台向大众“发送”相同的广播信息,比如天气预报快要下雨了,不同的人“接收”到广播信息可以去做不同的事情,比如,老妈去收衣服,老爸打消了去洗车的打算,而小宝无动于衷(因为他觉得这个下雨的广播和自己没关系)。
Scratch中的广播也是这样,举个小例子,我们编写一个小游戏,其中有两个角色,一个负责开始时候的倒计时3、2、1,一个在倒计时完成后开始移动。那么,第一个角色就可以在321结束后发送广播“倒计时结束”,第二个角色则是接收广播开始左右移动。需要注意的是,第二个角色只会在收到广播的内容是“倒计时结束”才移动,如果广播内容是“游戏结束”,那么它是不会移动的。
Scratch提供了2个发送广播的积木和1个接收广播的积木,然而,它们都支持新增消息(也就是,广播内容)。
1. 发送广播:
[广播并等待]:发送广播,并且等待所有接收广播的角色执行完“当接收到xx”代码块后,才能继续执行后续的积木。就好像,我不光告诉你们“要下雨了”,还要看着甲收完衣服、乙关好门窗,才能安心得去做自己的事情。
[广播]:发送广播,然后立刻继续执行自己后续的积木。意思是,我告诉你们“要下雨了”就好,你们要怎么做,我可一点不关系,我要去做自己的事情了。
下面演示如何新增一个广播消息:
2. 接收广播:
(当接收到]积木和(当旗子被点击]很像,都是一段代码的起始位置。
广播积木相关的编码实战演示,可以查阅《Scratch实例6|小白兔捡萝卜,第2版》。
tag:#Scratch编程、#少儿编程、#儿童编程、#趣味编程、#青少年编程、#软件编程
例行备注:微信限制已发布文章的修改,欲查看最近更新后的文章可以通过公众号底部的菜单。
领取专属 10元无门槛券
私享最新 技术干货