【青少年编程】【Scratch】04 事件模块
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。
微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档)。
04 事件模块
在Scratch中,所有脚本在运行前都需要有一个触发条件。
触发方式可以分为三大类:
第一类:是通过人为操作来触发脚本运行,如:使用鼠标点击、键盘点击等;
第二类:是通过外界环境的改变来触发脚本运行,如:舞台背景切换、外界声音大小等;
第三类:是通过在脚本之间广播和接收消息来触发脚本运行;
在等级考试中考察该模块的知识点如下:
能够应用广播来传递数据,实现不同角色之间的交互; 能够理解广播和广播并等待的区别;
1. 通过人为操作来触发脚本
(1)当小绿旗被点击
这是我们程序开始启动的事件,即点击小绿旗后程序开始执行,随后执行后面的程序模块。
Scratch中的大部分脚本都是通过它来触发的,这是Scratch中最基本的脚本触发方式。
(2)当按下某个键
通过按键盘中的按键来触发脚本也是一种常用的人为触发方式。
在Scratch3.0版本中下拉三角可以选择的按键有空格键、方向键(上下左右)、字母键(a-z)、数字键(0-9)以及任意一个键。
(3)当角色被点击
在某个角色使用了这个事件之后,当角色被点击,就会执行后面的程序脚本。
2. 通过外界环境的改变来触发脚本
(1)当背景换成某背景
通过背景切换触发是指当舞台拥有多个背景时,切换为某个指定的背景即会触发脚本的运行。
(2)通过响度进行判断
在Scratch3.0版本中下拉三角可以选择的有响度和计时器。
响度就是音量,当计算机上连接的麦克风接收到的声音的音量大于指定数值时就会触发脚本。 计时器可以看成是一个秒表,当这个秒表记录下的时间大于指定数值时就会触发脚本。
响度和计时器的使用,参见侦测模块。
3. 通过广播和接收消息来触发脚本
最后这一组积木块(3个)极为重要,利用广播与接收消息积木,可以实现不同角色之间的交互。
(1)广播消息
向包含自身在内的所有角色发送一个消息。发送完后,会立即继续向下执行。
(2)广播消息并等待
向包含自身在内的所有角色发送一个消息。发送完后,会等到所有接收消息的脚本执行完成后才继续向下执行。
可以建立新的消息,如下图:
(3)当接收到消息
当角色接收到指定的消息时,便触发该脚本。
4. 例子:小鸡捉害虫
田野里一只饥饿的鸡发现了蝗虫,快速地跑向蝗虫捉着了它。
1. 准备工作
(1)导入背景:“Forest”;
(2)导入角色:“Hen”、“Grasshopper”。
2. 功能实现
(1)设置角色:“Hen”初始坐标为(x=-180,y=-120);
(2)设置角色:“Grasshopper”初始坐标为随机,角色大小为30;
(3)单击绿旗,角色“Hen”向“Grasshopper”移动并留下轨迹;
(4)画笔颜色为蓝色,粗细为2;
(5)当碰到“Grasshopper”时,母鸡“Hen”发出声音,“Grasshopper”消失。
3. 利用广播和接收消息进行实现
基础知识:
一级编程题:
01 森林的一天 02 舞者凯希 03 小狗散步 04 猫捉老鼠 05 城堡漫步 06 火箭发射 07 飞向太空 08 小狗长大记 09 运动起来 10 动物园之旅 11 球飞了 12 希神吓走猫头鹰 13 棒球运动会
二级编程题:
01 飞不出去的蝴蝶 02 巡线小车 03 绘制雪花图案 04 制作蝙蝠冲关游戏 05 飞翔的小鸟 06 绘制十个正方形 07 别碰红块 08 小鸡捉害虫 09 垃圾分类 10 两座对称的山峰 11 寻找宝石
三级编程题:
小朋友投稿:
Scratch:
Python:
群内答疑:
Scratch:
Python: