放大镜-第12届蓝桥杯Scratch选拔赛真题精选
第12届蓝桥杯青少年组第6次选拔赛于2021年3月27日举行,形式为线上考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。
放大镜,本题是2021年3月27日举行的第12届蓝桥杯Scratch选拔赛真题编程第4题,初级组和中级组都有此题,题目要求编程模拟放大镜放大文字的效果。
先来看看题目的要求吧。

题目说明

1). 点击绿旗,舞台上出现要求的角色及背景(放大镜自己绘制)
2). 放大镜跟随鼠标移动;
3). 当放大镜移动到舞台中心区域出现文字;
4). 按下鼠标时放大镜内的文字放大,按下鼠标的同时移动放大镜,文字也呈现放大效果;
5). 松开鼠标文字恢复原来大小。


思路分析

本题只有两个角色,分别是放大镜和文字,如图所示:

程序实现

根据题目描述和思路分析,我们可以分两步来编写程序:
放大镜跟随鼠标移动
放大文字
1. 放大镜跟随鼠标移动
绿旗点击时,将放大镜移到舞台中心位置,如果重复执行跟随鼠标移动,不过需要控制一下其移动范围,在放大镜角色中,编写代码如下:
简要说明两点:
1). 放大镜角色需要放在文字角色的上方, 所以这里使用了“移到最前面”指令,将角色设置为不可拖动,是为了避免在拖拽鼠标的时候,角色被拖动了,不过这需要在全屏模式下才有效;
2). 为了避免放大镜移动过多,漏出白色背景,这里限定了上下左右的移动距离。
2. 放大文字
按下鼠标时放大镜内的文字放大,对于按下鼠标的检测,通常有两种方案:
重复执行 + 如果...那么 + 按下鼠标
重复执行 + 等待条件 + 按下鼠标
针对第一种方案,其代码结构如下:
第二种方案的代码结构如下:
相对而言,第二种方案少了一层嵌套,代码更为简单。
由于按下鼠标不需要限定角色,因此,我们直接在文字角色中编写代码如下:
点击绿旗时,将角色大小设置为100,按下鼠标时则将角色设置为250,这就有了放大效果,一旦松开鼠标,再将角色大小恢复到100。

总结与思考

外观编程,包括角色的大小和层次关系;
编程运动,让角色跟随鼠标移动,同时要限定其范围;
鼠标按键事件的编程技巧;
等待条件指令的妙用,以及不成立指令的作用;
绘制角色造型。

添加 家长论坛微信
全部 0条评论