好好搭搭官方文档
  • FAQ
  • 好好搭搭平台
    • 浏览器
    • 插件
    • 微信物联网小程序
      • 帐号绑定
      • 联网配置
      • 设备绑定
      • 物联应用
      • 在线编程
      • 自定义组件使用
    • 离线版
      • 好好搭搭Scratch中文离线版
      • 好好搭搭Scratch Arduino 2.0
      • Mixly For WuHan
    • 远程协助软件
    • PC端配网工具
    • 配网APP
  • 在线入门课程
    • Scratch编程入门
      • 第1课 喵喵初体验
      • 第2课 喵喵背古诗
      • 第3课 喵喵游西湖
      • 第4课 喵喵学做操
      • 第5课 喵喵学英语
      • 第6课 喵喵演奏会
      • 第7课 喵喵大抽奖
      • 第8课 喵喵运动会
      • 第9课 喵喵学画画
      • 第10课 喵喵出题目
      • 阅读材料一:好好搭搭Scratch中文离线版的使用
      • 阅读材料二:“好好搭搭”网站中的作品管理
      • 阅读材料三:使用PowerPoint制作中文文字角色
      • 阅读材料四:Scratch中的指令类型
      • 阅读材料五:Scratch中的三种程序结构
    • 基于Scratch的传感器板编程
      • 第1课 认识Scratch传感器板
      • 第2课 在Scratch中使用按键——点亮卧室里的灯
      • 第3课 在Scratch中使用LED——防火小卫士
      • 第4课 在Scratch中使用滑杆——生日快乐
      • 第5课 在Scratch中使用蜂鸣器——守卫松饼
      • 第6课 在Scratch中使用声音传感器——赛龙舟
      • 第7课 在Scratch中使用亮度传感器——太阳公公笑了
      • 第8课 在Scratch中使用摇杆――猴子接香蕉
      • 第9课 在Scratch中使用扩展模块——智能灯控
      • 第10课 综合作品制作——森林小卫士
    • 基于Scratch的Nova智能造物入门
      • 第1课 初识智能造物神器——Nova
      • 第2课 在Nova中使用单色LED——模拟红绿灯
      • 第3课 在Nova中使用数码管与按键——送给妈妈的计时器
      • 第4课 在Nova中使用蜂鸣器——音乐播放器
      • 第5课 在Nova中使用超声波传感器——魔法音乐盒
      • 第6课 在Nova中使用RGB LED与电位器——多彩台灯
      • 第7课 在Nova中使用声音与亮度传感器——智能声控灯
      • 第8课 在Nova中使用温湿度传感器——环境自动监测仪
      • 第9课 在Nova中使用电机与红外遥控――智能小风扇
      • 第10课 在Nova中使用舵机——会摇头的电风扇
      • 阅读材料一:“好好搭搭”插件的下载与安装
    • WU-Link智能造物入门
      • 第一课 初识物联网造物神器——WU-Link
      • 第二课 在WU-Link中使用点阵屏——玩转图案设计
      • 第三课 在WU-Link中使用点阵屏——送给妈妈的计时器
      • 第四课 在WU-Link中使用板载传感器——环境自动检测仪
      • 第五课 在WU-Link中使用加速度计——自制计步器
      • 第六课 在WU-Link中使用电子罗盘——指南针来了
      • 第七课 在WU-Link中使用红外传感器——红外电子琴
      • 第八课 Scratch与WU-Link互联互控——物联网点读机
      • 第九课 Scratch与WU-Link互联互控――物联网环境监测仪
      • 第十课 WU-Link之间的互联互控——抽签与抢答程序
      • 阅读材料一:WU-Link的无线网络连接设置
      • 阅读材料二:添加并绑定设备
  • 教学产品
    • Scratch传感器板
    • 好搭Box
    • Nova电子积木
      • Nduino HD
      • Nduino BOT
      • Nduino-Wulink
      • LED
      • 蜂鸣器模块
      • RGB模块
      • RGB灯带模块
      • 单按键模块
      • 四按键模块
      • 电位器模块
      • 亮度传感器模块
      • 超声波传感器模块
      • 声音传感器模块
      • 温湿度模块
      • 灰度传感器模块
      • 4位计时数码管
      • 4位计数数码管
      • 点阵模块
      • 红外接收模块
      • 红外对射模块
      • 蓝牙4.0模块
      • 单路电机驱动模块
      • 双路电机驱动模块
      • 大电流舵机驱动模块
      • MP3音乐模块
      • 火焰传感器模块
      • 霍尔开关模块
      • 继电器模块
      • 倾斜开关模块
      • 震动开关模块
      • 限位开关模块
      • 时钟模块
      • 陀螺仪模块
      • 摇杆模块
      • MQ2传感器模块
      • MQ3传感器模块
      • MQ7传感器模块
    • Arduino开源硬件
      • Arduino UNO主控板
      • Arduino IO扩展板
      • Wulink-UNO
      • haodaMIDI模块
      • LED灯模块
      • 蜂鸣器模块
      • RGB灯模块
      • 单按键模块
      • 四按键模块
      • 电位器模块
      • 亮度传感器模块
      • 超声波传感器模块
      • 声音传感器模块
      • LM35温度传感器
      • 温湿度传感器模块
      • 灰度传感器模块
      • 数码管模块
      • 点阵模块
      • 蓝牙模块
      • MP3模块
      • OLED模块
      • LCD1602显示模块
      • 红外接收模块
      • 红外发射模块
      • 激光发射模块
      • 继电器模块
      • 倾角传感器模块
      • 震动开关模块
      • 人体红外传感器模块
      • 上拉扩展模块
      • 土壤湿度模块
      • 颜色传感器模块
      • 摇杆模块
      • 音频录放模块
    • WU-Link
    • PythonBoard
    • 掌控
      • 掌控板刷好搭固件
      • WULink-Python
    • 3D打印套件
      • 时钟主板
      • 音乐主板
      • 通用主板
      • 机器人主板
      • 互联网主板
      • 电机主板
      • 灯光主板
      • 月球灯
    • 好搭磁性电子积木
    • 数字科学家
      • 主控
      • PH值传感器
      • 水浊度传感器
      • 拉力传感器
      • 压力传感器
      • 气压传感器
      • 水泵
    • KT板套件
    • 徽章板
    • 好搭Bit
      • Scratch3.0互动编程
      • MakeCode
      • Mind+
      • KittenBlock
      • MU Python编程
      • APP 移动端编程
  • 造物产品
    • WuLink-Nano
    • 好搭酷
  • 编程语法
    • Scratch
      • 指令
      • 程序结构
    • Arduino
      • 程序结构
      • 变量
      • 基本函数
      • 类库
    • Micropython
Powered by GitBook
On this page
  • 创意构思
  • Scratch中的广播
  • 脚本设计
  • 第一步:绘制赛道
  • 第二步:准备角色
  • 第三步:喵喵发令
  • 第四步:运动员响应消息
  • 第五步:到达终点发消息
  • 拓展思考

Was this helpful?

  1. 在线入门课程
  2. Scratch编程入门

第8课 喵喵运动会

Previous第7课 喵喵大抽奖Next第9课 喵喵学画画

Last updated 6 years ago

Was this helpful?

马上举办校园运动会了,小狗“小白”和“小蓝”都名参加跑步比赛,“喵喵”将是这个项目的裁判。

在本课的范例作品中,单击“喵喵”角色,“小白”和“小蓝”开始向舞台右侧方向奔跑。当遇到终点线时,停止前进,同时由“喵喵”宣布它们到达终点的消息。

创意构思

可以使用Scratch中的“广播”功能来完成本课任务:单击“喵喵”后,由“喵喵”广播“起跑”消息,运动员角色在收到消息后起跑,并在到达终点线时广播“到达”的消息。

在运动员是否到达终点线的判断上,可以使用Scratch中的颜色触碰检测方法进行判别。此外,还可以使用随机数指令随机产生运动员的移动速度,从而使比赛更精彩。

要完成本课的创意构思,需要了解以下的新指令:

Scratch中的广播

在Scratch中,“广播”是非常重要的一个功能。每个广播都有“消息名称”,Scratch通过消息名称来区别不同的广播。Scratch的舞台和角色都能够发送广播,每个广播发送后,能被所有对象(包括广播的发送者)接收。

比如下图中的“喵喵”、“小白”和“小蓝”三个角色,如果已经编写了当“小白”和“小蓝”接收到“起跑”的消息后,开始向终点线方向移动的脚本。那么当“喵喵”广播“起跑”消息后,所有角色,包括“喵喵”自己,都会收到这条消息;其中“小白”和“小蓝”由于事先编写了相应的脚本,因此会向终点线移动。

单击此处或者扫描下方二维码可以观看以上内容相关的视频。

1.

属于“事件”类别指令,通过指令广播一条消息;单击下拉列表参数,可以选择需要广播的消息名称;单击其中的“新消息”选项,可以在打开的对话框中新建消息名称。

2.

属于“事件”类别指令,当接收到指定消息后,能够触发指令,执行指令下方的脚本;单击下拉列表参数,可以选择触发指令的具体消息名称。

3.

属于“侦测”类别指令,用于侦测角色是否碰到指定颜色;单击指令的颜色参数,当鼠标指针变成

时,移动鼠标在需要的颜色上单击,指令中的颜色参数会变成指定的颜色。

4.

属于“控制”类别指令,Scratch循环指令中的一种;在满足条件之前,重复执行指令中所包含的脚本;指令中的参数就是停止的条件。

脚本设计

第一步:绘制赛道

本课范例中的舞台背景图片是一条赛道,上面有起跑线和终点线。其中,终点线的颜色还将被用作角色是否到达终点的判断条件。可以在“背景”选项卡中绘制这条赛道:

1.单击“背景列表区”中的缩略图,再单击进入“背景”选项卡;然后单击右下角的

按钮,进入“矢量模式”。

2.单击选中“矢量工具按钮”中的

按钮,再单击选中“颜色”区域的

及“填充模式”中的

最后在“背景编辑区”拖动鼠标,画出红色矩形赛道。

3.单击选中“矢量工具按钮”中的

按钮,再选中“颜色”区域的

设置合适的线宽,最后按住键盘上的“Shift”键,在“背景编辑区”赛道的左边拖动鼠标,画出一条蓝色线条,作为起跑线。

4.重新选择颜色为

还是按住键盘上的“Shift”键,在赛道的右边拖动鼠标,画出一条黄色线条,作为终点线。

单击此处或者扫描下方二维码可以观看以上内容相关的视频。

第二步:准备角色

本课范例作品中的三个角色,除了默认的小猫以外,另外两个“Dog1”和“Dog2”角色可以从Scratch的“角色库”选取,再把这三个角色重命名为“喵喵”、“小白”和“小蓝”,然后调整三个角色的大小,把它们拖放到合适的位置。

单击此处或者扫描上方的二维码可以观看以上内容相关的视频。

第三步:喵喵发令

首先为小猫“喵喵”编写脚本,使它能够向两个运动员广播“起跑”消息:

1.单击选中小猫“喵喵”角色,将“事件”类别中的

指令拖动到脚本区,然后再将

指令拖动到脚本区与前一个指令组合。

2.单击

指令的下拉列表参数,选中“新消息”选项,在打开的“新消息”对话框中输入消息名称为“起跑”。

单击此处或者扫描上方的二维码可以观看以上内容相关的视频。

第四步:运动员响应消息

两只小狗运动员接收到“喵喵”广播的“起跑”消息后,应该开始向舞台右侧的终点线移动,并在碰到终点线时停止前进。具体可以按以下步骤操作:

1.为了让

指令能够对“是否碰到了终点线”这个条件进行检测,需要将指令中的颜色参数设置成与终点线颜色相同:先单击指令中的颜色参数,然后将鼠标移动到终点线上单击,这样,指令的参数颜色就与终点线相同。

2.还可以使用

指令,让“小白”每次比赛都拥有不同的速度。

“小白”完整的脚本如下图所示:

“小蓝”的脚本与“小白”相同,可以采用复制粘贴的方法编写。

单击此处或者扫描下方二维码可以观看以上内容相关的视频。

试一试

在“侦测”类别中,与

指令功能类似的还有

这两个,你知道这两个指令起什么作用吗?

单击此处或者扫描下方二维码可以观看相关视频。

第五步:到达终点发消息

当“小白”和“小蓝”在到达终点后,应该分别发送到达终点的消息。这样,才能让“喵喵”知道谁到达终点:

1.单击选中“小白”,将“事件”类别中的

指令拖动组合到脚本区,作为最后一条指令;再单击指令的下拉列表参数,选中“新消息”选项,在打开的“新消息”对话框中输入消息名称为“小白到达终点”。

2.再单击选中“小蓝”,按照以上的步骤添加指令,并设置指令的参数为“小蓝到达终点”。

小猫“喵喵”接收到来自“小白”和“小蓝”发送的消息后,可以按以下步骤操作,宣布相应的到达信息:

1.单击选中小猫“喵喵”,将“事件”类别中的

指令拖动到脚本区,在下拉列表参数中选择“小白到达终点”。

2.将“外观”类别中的

指令拖动组合到上一条指令下方,修改指令的第一个参数为“小白已经到达终点”。这样,当“喵喵”接收到“小白到达终点”这个消息的时候,会宣布“小白已经到达终点”。

3.复制这段脚本,修改第一个指令的参数为“小蓝到达终点”,第二个指令的第一个参数为“小蓝已经到达终点”。这样,“喵喵”会宣布“小蓝已经到达终点”。

单击此处或者扫描下方二维码可以观看以上内容相关的视频。

练一练

按照以上步骤所编写的程序脚本,运动员到达终点以后,“喵喵”只会宣布运动员到达的消息。你能够编写程序,让“喵喵”还能够根据比赛情况,宣布运动员的比赛成绩吗?

单击此处或者扫描下方二维码可以观看以上内容相关的视频。

拓展思考

校园运动会结束了,“喵喵”还不满意,你能编写程序,让比赛更精彩吗?