[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第39讲。
第13届蓝桥杯青少年组省赛分两次进行,这是2022年4月17日举行的第一次省赛考试,形式为在线考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。
流星滑落,本题是第13届蓝桥杯Scratch第一次省赛真题编程第2题,初级组和中级组都有此题,题目要求考生编程在夜幕降临的时候,从空中滑落一颗流星。
先来看看题目的要求吧。
一.题目说明
编程实现:
夜幕降临,空中滑落一颗流星。
具体要求:
1). 点击绿旗,背景如图所示;
2). 1秒后,天色渐渐变暗1秒;
3). 从舞台左上方出现一颗流星,斜向右侧方向移动到舞台中地平线逐渐消失(能看到流星逐渐变大和移动的过程)。
二.思路分析
本题包含一个夜空背景和一个流星角色,如图所示:
要实现的功能有两个:
1). 天色渐暗
2). 流星滑落
其中,天色渐暗是针对舞台背景的,我们可以利用外观模块中的亮度特效来实现。
而流星滑落则分为两个阶段,第一个阶段流星从舞台左上角移动到地平线附近,在滑落过程中,流星有逐渐变大效果;第二个阶段是消失阶段,流星继续滑落,但是逐渐模糊,直至消失。
三.编程实现
根据上面的思路分析,我们分两步步来编写程序。
-
天色渐暗
-
流星滑落
1). 天色渐暗
在Scratch中,亮度效果指的是角色是否变亮和变暗,输入的数值为-100到100之间,负数数值越大就越暗,如果亮度值为-100,角色就变成全黑的,正数数值越大就越亮,如果亮度值为100,角色就全白,默认亮度值为0,即正常状态。
所以,我们可以将背景的初始亮度设置为0,然后逐渐减少亮度,这样就可以让舞台背景变得更暗,从而实现渐暗效果,当舞台变暗之后,就可以向流星角色发送一个“流星”的广播消息了,切换到舞台背景,编写代码如下:
在Scratch中,舞台背景可以看作是一个特殊的角色,也是可以编写代码的,最大的不同是,在舞台背景中,不能使用运动类积木。
2). 流星滑落
绿旗点击时,流星是隐藏的,当接收到“流星”广播之后,流星出现并开始滑落,由于在滑落时,流星的大小和虚像(透明度)会发生变化,需要设置好初始大小。
关于运动,我们可以选择的方案有如下三种:
①. 使用“面向90度” + “移动10步”的组合指令
②. 使用“在1秒内滑行到x,y”指令
③. 使用“将x/y坐标增加10”指令
本作品中,流星的造型和角度是强相关的,也就是说一旦改变角度,造型也随之发生变化,如果使用第一种方式,就必须要调整造型。
针对第二种方式,由于“在1秒内滑行到x,y”指令是独占模式,也就是在滑行过程中是不能执行其它代码的,要同时实现变大和模糊效果,就得使用广播机制,从而达到并行执行的效果。
第三种方式,则需要同时改变x坐标和y坐标,具体改变的数值需要经过多次尝试才能确定。
本作品,我们将采用第三种方式,切换到流星角色,编写代码如下:
这里强调一下虚像的设置,所谓虚像就是指角色的透明度,其范围为0-100,虚像值为0,即透明度为0,也就是完全不透明,随着虚像值的增加,角色越来越模糊了,当虚像值为100即透明度为100时,角色就是完全透明的,我们也就看不到角色了。
在Scratch中,虚像通常应用在下面两大场景:
①. 实现角色的渐变效果,包括逐渐显示和逐渐隐藏,本题刚好属于这一类;
②. 用于检测角色的判断,通常以辅助角色的形式出现,在游戏编程中应用较多。
四.思考与总结
本题难度一般,代码量不多,一共25个积木块,分值为50,涉及到的知识点主要包括:
-
外观编程,包括显示、隐藏、大小变化、亮度特效和虚像特效;
-
运动编程,同时改变x和y坐标实现斜线运动效果;
-
事件广播机制,包括给自己发送广播消息;
-
循环编程,包括重复直到循环和指定次数循环。
如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,十分感谢。