流星滑落-第13届蓝桥杯Scratch省赛1真题第2题

[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第39讲。

第13届蓝桥杯青少年组省赛分两次进行,这是2022年4月17日举行的第一次省赛考试,形式为在线考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

流星滑落,本题是第13届蓝桥杯Scratch第一次省赛真题编程第2题,初级组和中级组都有此题,题目要求考生编程在夜幕降临的时候,从空中滑落一颗流星。

先来看看题目的要求吧。

一.题目说明

编程实现:

夜幕降临,空中滑落一颗流星。

具体要求:

1). 点击绿旗,背景如图所示;

流星滑落-第13届蓝桥杯Scratch省赛1真题第2题_第1张图片

2). 1秒后,天色渐渐变暗1秒;

流星滑落-第13届蓝桥杯Scratch省赛1真题第2题_第2张图片

3). 从舞台左上方出现一颗流星,斜向右侧方向移动到舞台中地平线逐渐消失(能看到流星逐渐变大和移动的过程)。

流星滑落-第13届蓝桥杯Scratch省赛1真题第2题_第3张图片

流星滑落-第13届蓝桥杯Scratch省赛1真题第2题_第4张图片

二.思路分析

本题包含一个夜空背景和一个流星角色,如图所示:

流星滑落-第13届蓝桥杯Scratch省赛1真题第2题_第5张图片

要实现的功能有两个:

1). 天色渐暗

2). 流星滑落

其中,天色渐暗是针对舞台背景的,我们可以利用外观模块中的亮度特效来实现。

而流星滑落则分为两个阶段,第一个阶段流星从舞台左上角移动到地平线附近,在滑落过程中,流星有逐渐变大效果;第二个阶段是消失阶段,流星继续滑落,但是逐渐模糊,直至消失。

三.编程实现

根据上面的思路分析,我们分两步步来编写程序。

  • 天色渐暗

  • 流星滑落

1). 天色渐暗

在Scratch中,亮度效果指的是角色是否变亮和变暗,输入的数值为-100到100之间,负数数值越大就越暗,如果亮度值为-100,角色就变成全黑的,正数数值越大就越亮,如果亮度值为100,角色就全白,默认亮度值为0,即正常状态。

所以,我们可以将背景的初始亮度设置为0,然后逐渐减少亮度,这样就可以让舞台背景变得更暗,从而实现渐暗效果,当舞台变暗之后,就可以向流星角色发送一个“流星”的广播消息了,切换到舞台背景,编写代码如下:

流星滑落-第13届蓝桥杯Scratch省赛1真题第2题_第6张图片

在Scratch中,舞台背景可以看作是一个特殊的角色,也是可以编写代码的,最大的不同是,在舞台背景中,不能使用运动类积木。

2). 流星滑落

绿旗点击时,流星是隐藏的,当接收到“流星”广播之后,流星出现并开始滑落,由于在滑落时,流星的大小和虚像(透明度)会发生变化,需要设置好初始大小。

关于运动,我们可以选择的方案有如下三种:

①. 使用“面向90度” + “移动10步”的组合指令

②. 使用“在1秒内滑行到x,y”指令

③. 使用“将x/y坐标增加10”指令

本作品中,流星的造型和角度是强相关的,也就是说一旦改变角度,造型也随之发生变化,如果使用第一种方式,就必须要调整造型。

针对第二种方式,由于“在1秒内滑行到x,y”指令是独占模式,也就是在滑行过程中是不能执行其它代码的,要同时实现变大和模糊效果,就得使用广播机制,从而达到并行执行的效果。

第三种方式,则需要同时改变x坐标和y坐标,具体改变的数值需要经过多次尝试才能确定。

本作品,我们将采用第三种方式,切换到流星角色,编写代码如下:

流星滑落-第13届蓝桥杯Scratch省赛1真题第2题_第7张图片

这里强调一下虚像的设置,所谓虚像就是指角色的透明度,其范围为0-100,虚像值为0,即透明度为0,也就是完全不透明,随着虚像值的增加,角色越来越模糊了,当虚像值为100即透明度为100时,角色就是完全透明的,我们也就看不到角色了。

在Scratch中,虚像通常应用在下面两大场景:

①. 实现角色的渐变效果,包括逐渐显示和逐渐隐藏,本题刚好属于这一类;

②. 用于检测角色的判断,通常以辅助角色的形式出现,在游戏编程中应用较多。

四.思考与总结

本题难度一般,代码量不多,一共25个积木块,分值为50,涉及到的知识点主要包括:

  • 外观编程,包括显示、隐藏、大小变化、亮度特效和虚像特效;

  • 运动编程,同时改变x和y坐标实现斜线运动效果;

  • 事件广播机制,包括给自己发送广播消息;

  • 循环编程,包括重复直到循环和指定次数循环。

如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,十分感谢。

 

你可能感兴趣的:(蓝桥杯Scratch真题,蓝桥杯,scratch)