最新消息:

Scratch传感器板创意编程(五):赛龙舟

Scratch 少儿编程 4727浏览 0评论
Scratch传感器创意

友情提示:视频教程观看时请手动设置清晰度。

1

情景描述

 

 

同学们,你们知道中国传统节日端午节有什么习俗吗?吃粽子、挂艾草、放风筝、戴香包当然还少不了赛龙舟。

赛龙舟时通常会有人给他们击鼓加油。我们可以用 Scratch 设计一个赛龙舟的游戏,通过传感器上的声音传感器,将我们的加油声传递给划龙舟的小伙伴们,帮助他们赢得比赛。

Scratch传感器板创意编程(五):赛龙舟

2

创意构想

要完成本课范例,可以先添加舞台、龙舟角色;然后设置两条龙舟的运动速度,其中一条龙舟是由程序自动控制的,另一条龙舟是根据我们加油声的声音强度来控制的;最后哪条龙舟先触碰终点线,就是哪个获胜。

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

声音传感器

声音传感器里面有一个话筒,可以用来接收声波,把声音转化为电能。

Scratch传感器板创意编程(五):赛龙舟

 

读取传感器板上的声音传感器当前接收到的声音强度的数值,取值范围(0,4095)。声音的强度又称音量,也叫响度。人耳感受到的声音强弱,是人对声音大小的一个主观感受。对于同一个声音来说,距离越远,声音强度越小。

 

3

脚本设计

 

第一步:设置舞台背景与角色

 

本课范例所使用的背景和角色需要从网站上下载,作为外部图片文件导入:

 

1.打开网络游览器,在地址栏中输入“haohaodada/b1”,进入“好好搭搭”网站,打开本课的范例程序网页,单击网页右边的“资源下载”选项卡,下载“赛龙舟”压缩文件,然后将下载的文件解压缩到本地计算机上。

 

2.单击“舞台列表区”工具栏中的 Scratch传感器板创意编程(五):赛龙舟 按钮,通过“打开”对话框上传刚才下载并解压缩到文件夹中的“赛龙舟背景”图片。

 

3.单击“角色列表区”工具栏中的 Scratch传感器板创意编程(五):赛龙舟 按钮,通过“打开”对话框分别上传刚才下载并解压缩到文件夹中的“龙舟 1”、“龙舟 2”图片;再用绘制角色的办法,绘制一条红线作为比赛的“终点线”。调整这三个角色的位置,使两条龙舟在舞台左侧,处于同一起点线后面;使红色“终点线”在舞台右侧。

Scratch传感器板创意编程(五):赛龙舟

 

4.单击选中“终点线”角色,在“声音”选项卡中通过单击 Scratch传感器板创意编程(五):赛龙舟 按钮,在声音库中找到“人声”类别中的“cheer”作为比赛胜利的效果声;“效果”类别中的“gong”作为比赛失败的效果声。

 

5.单击隐藏舞台上除“声音强度”以外,其它无关的传感器数值。

第二步:编写“龙舟 1”角色脚本

“龙舟 1”是由软件自动控制的,先将它移动到合适的起点位置,观察它的坐标值,其中 X 值大致为“-170”,y 值大致为“70”;再将龙舟向终点方向移动,触碰到终点线,这时X 值大致为“100”,y 值可以保持不变。

为了让比赛更精彩,可以设置“龙舟 1”的移动速度是 1-10 秒之间的随机数。具体的脚本代码如下图所示。

Scratch传感器板创意编程(五):赛龙舟

第三步:编写“龙舟 1”角色脚本


“龙舟 2”是用传感器板上的声音强度控制的。为了获得比较好的控制效果,应该先测量安静和加油两种环境下声音传感值的变化范围。

在本课范例中,经过尝试得出声音强度变化的大致范围为(2800,4000)。可以把声音强度的变化区间以 400 为单位分成四段,分别为:非常响:(小于2800),响:(2800,3200),一般:(3200,3600),轻:(3600,4000)。

 

根据不同的声音响度,决定造型切换的速度、移动的速度。具体代码如下图所示:

 

Scratch传感器板创意编程(五):赛龙舟

 

第四步:判断比赛结果


比赛结果是由“终点线”角色完成的,哪艘龙舟先碰到“终点线”,哪艘龙舟就获胜,在没有龙舟碰到之前一直等待。

 

当有龙舟碰到“终点线”就判断:如果是龙舟 2 先碰到,就说“恭喜你获胜”,同时播放胜利的音乐;否则说“加油,再试一次”,并播放失败的音乐;音乐播放完毕后停止所有程序。

 

Scratch传感器板创意编程(五):赛龙舟

您必须 登录 才能发表评论!