什么是事件?

既然我们把scratch编程比作编排一场舞台剧,那我们就要想象一下,在一台舞台剧中,舞台上面的角色什么时候开始表演,在什么场景下做什么表演是怎么控制的呢?

  • 第一种方式,就是我们作为这场舞台剧的导演,我们在场下指挥角色们,就像是我们看到拍电影的时候,只要一打板儿,就意味着要开始表演了;
  • 第二种方式,舞台上面的演员根据环境的变化来知晓需要做什么动作,比如场景变化了,比如到了该做特定表演的时间了;
  • 第三种方式,就是舞台上面角色的互动,这个很好理解,舞台上面如果有多个角色在表演的时候,角色之间是要有互动的,比如两个人的对话,等对方把这句话说完之后再接下一句话,这就属于角色间的互动。

在scratch中,也是通过这三种方式来触发角色按某些编程指令去做动作的,我们把这种触发角色动作的指令就叫做事件
同样的,我们在scratch的工作台——代码区,可以看到事件类型的指令积木,而事件指令积木的形状有个特点,就是往往上面没有凹陷,而下面是有凸起的,也就是说,这种指令积木是起始指令积木,上面不能接其它的指令积木了。

起始.png

场下指挥型事件

这个事件听起来就很高傲,是从舞台外面来指挥角色表演的,而对于scratch而言,这种场下指挥型事件就是指的是来自电脑外部输入设备的事件。
什么是电脑外部输入设备呢?相信不用我说你也明白的,就像是鼠标、键盘、触屏笔等给电脑输入指令的设备。
我们来看下scratch中有哪些指令积木可以感知到电脑外部输入设备的指令:

当绿色旗标被点击

当绿旗被点击.png
这个就是指的当我们点击舞台右上角这个绿色旗标所触发的事件,同时绿色旗标旁边的暂停按钮也是一个隐藏的事件,但是没有对应的指令积木,因为它是触发整个舞台上面所有角色表演停止的按钮,特别强势,不需要任何角色引用它,它就可以停下任何角色的动作。
//TODO
绿色旗标点击事件

当按下xxx键

当按下键盘按键.png
这个事件指令积木的作用也是相当明显了,就是通过我们键盘上面按下某个按键来控制舞台上面的角色,
//TODO
键盘点击事件

当角色被点击

当角色被点击.png
这个事件指令积木的作用就是当按下鼠标左键或者鼠标右键的时候,触发的事件。
//TODO
鼠标点击事件

环境变化型事件

这种事件属于角色感知到舞台上面环境的切换而做出对应的反应动作,而scratch里面有下面这几种环境变化是角色可以感知到的。

当背景换成xxx

我相信你一定还记得外观指令积木里面是有可以切换背景的指令的,而角色是能够感知到背景的变化的,当然也就可以根据背景的切换做出不同的动作了。
当背景换成.png
//TODO
背景切换事件

当响度/计时器大于xxx

响度和计时器这两个概念其实是在侦测指令中,虽然我们没有讲到侦测指令,但是我想这两个概念还是很好理解的

  • 响度的意思就是通过电脑的麦肯风传入的声音的大小,所以说这个事件也是从电脑外部输入设备传入的信息,虽然不是对某个角色特别的命令,但是也可以看成是一种场下指挥型的事件;
  • 计时器的意思就相当于一块秒表,记录着表演进行的时间,角色通过感知时间来确定应该做出什么样的动作。