放大镜-第14届蓝桥杯省赛Scratch中级组真题第3题

news/2024/11/8 0:34:14/

 [导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第138讲。

放大镜,本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程中级组编程第3题,题目要求编程创作一个放大镜作品。当任意一个文字出现在放大镜中时, 字体变大,放大镜离开文字后字体恢复原来大小。

先来看看题目的要求吧。

一.题目说明

编程实现:

放大镜。

具体要求:

1). 点击绿旗,角色、背景如图所示(文字角色请自行创建,放大镜角色请自行调整);

2). 鼠标左键点击一次放大镜,放大镜持续跟随鼠标移动;

3). 当任意一个文字出现在放大镜中时, 字体变大,放大镜离开文字后字体恢复原来大小(字体放大后的效果参照下图所示)。

评判标准:

  • 10分:满足"具体要求"中的1);

  • 15分:满足"具体要求"中的2);

  • 25分,满足"具体要求"中的3)。

二.思路分析

先来看看题目提供的素材,如图所示:

这里只有一个放大镜角色,再结合题目的描述,文字角色请自行创建,放大镜角色请自行调整。所以,蓝桥杯三个字需要分别创建,除此之外,还需要对放大镜进行调整,很多同学可能没有注意到这一点。

如果你仔细观察,会发现上图中的放大镜中间填充了蓝色,而题目描述中的放大镜中间是透明的,因此,需要擦除放大镜的蓝色填充部分。

本题的难点是如何检测文字出现放大镜中,第一个要排除的是碰撞检测,试想一下,如果文字碰到镜柄了,总不能将文字放大吧。

常见的解决方案有两个,第一种方案是增加一个辅助角色,放到镜框的中间,将其虚像设置为100,然后跟随放大镜移动,此时,我们只需要检测文字是否碰到辅助角色。

第二种解决方案是调整放大镜的造型中心,将将框中心点作为放大镜的造型中心,然后使用”到角色的距离“指令检测,如图:

当文字到放大镜的距离小于某个值(比如30),就将文字变大。

很显然,第二种方案更为简单,也是超平老师推荐的方案,接下来,我们进入具体的编程实现环节。

三.编程实现

根据题目描述和思路分析,我们分3步来编写程序:

  • 角色准备

  • 放大镜跟随鼠标移动

  • 文字放大效果

1. 角色准备

首先是调整放大镜角色,主要有两点,一是擦除镜框中间的蓝色,二是调整造型中心,调整后的效果如图所示:

需要注意的是,在使用橡皮擦的时候,可以将橡皮擦的大小设置为100,这样每次擦除的面积会更大一些。

然后再分别创建”蓝“、”桥“、”杯“三个文字角色,如图所示:

2. 放大镜跟随鼠标移动

绿旗点击时,放大镜位于舞台右下角,在被点击后,跟随鼠标移动,切换到放大镜角色,编写代码如下:

代码比较简单,强调一点,在Scratch中,对于只需要判断一次的场景,使用等待条件指令是最简单的方法。

3. 文字放大效果

对于文字而言,只需要检测它和放大镜之间的距离,并改变角色的大小,以”蓝“字角色为例,编写代码如下:

其它两个文字角色的代码基本一样,只是坐标不同,这里就不再列出了。

至此,小猫踩球作品就创作好了,简单吧。

四.总结与思考

本题是中级组编程部分第3题,分数为50分,积木块数量32个左右,涉及到的知识点主要包括:

  • 绘制角色及修改造型;

  • 检测两个角色之间的距离;

  • 等待条件指令的妙用;

  • 设置角色大小;

这是中级组的第3题,难度一般,完成时间10分钟左右。虽然代码不多,但是很多同学忽略了两个细节,一是没有去掉放大镜中的蓝色填充部分,二是直接使用角色碰撞来检测文字是否在镜框中。

这就要求考生在比赛过程中,认真阅读题目要求,仔细分析问题,养成良好的考试习惯,一旦你做到这些,肯定能在众多学生中脱颖而出的。

最后给你留一个小小的思考题,在检测文字到放大镜的距离时,这个距离是怎么计算的呢,你知道吗?

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要素材和源码的,可以移步至“超平的编程课”gzh,或者私信本人。


http://www.ppmy.cn/news/83285.html

相关文章

Linux系统安装Redis

1.远程下载稳定版本 wget http://download.redis.io/releases/redis-6.0.7.tar.gz 编译 redis-6.x,要求 C11 编译器(因为redis是用c写的),否则会遇到大量如下所示的错误: server.h:1051:5: 错误:expected…

音视频八股文(6)-- ffmpeg大体介绍和内存模型

播放器框架 常用音视频术语 • 容器/文件(Conainer/File):即特定格式的多媒体文件, 比如mp4、flv、mkv等。 • 媒体流(Stream):表示时间轴上的一段连续数据,如一 段声音…

整合Springboot+MybatisPlus+达梦数据库

1、安装Windows环境的达梦数据库可视化软件 这里不做安装介绍 安装步骤很简单,提供的软件也很全面,特别是数据库迁移工具,支持市面上许多主流的大型数据库,例如:Oracle、SQLServer、MySQL、DB2、PostgreSQL、Informix…

centos下编译ffmpeg+ libfdk_aac +x264

因为FFmpeg自带的AAC编码器已经废弃了AV_SAMPLE_FMT_S16格式PCM编码AAC,如果使用FFmpeg自带的AAC编码器,就需要做音频的重采样(AV_SAMPLE_FMT_S16重采样为:AV_SAMPLE_FMT_FLTP), 如果不想自己做重采样转换,可以使用libfdk-aac这库。 编译FFMPEG之前,先编译好libfdk-aac…

openldap介绍以及使用

参考文献:openldap介绍和使用 基本概念 官网:https://www.openldap.org 官方文档:https://www.openldap.org/doc LDAP是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的…

【星戈瑞】BODIPY-530/550氟化硼二吡咯荧光染料

BODIPY是一种荧光染料,其分子结构稳定、荧光强度高、荧光寿命长、光谱范围广,因此在许多领域都有应用。在生物医学领域,BODIPY作为荧光探针,可用于细胞成像、生物分子探测、药物筛选等方面。例如,一些研究者将BODIPY修…

Vue3:组件基础(下)

Vue3:组件基础(下) Date: April 12, 2023 Sum: props验证、计算属性、自定义时间、组件上的v-model、任务列表案例 目标: 能够知道如何对 props 进行验证 能够知道如何使用计算属性 令能够知道如何为组件自定义事件 令能够知…

动态通讯录实现(C语言)

目录 前言: 一:单个节点的设计和主逻辑 结点设计 主逻辑 二:接口实现 (1)生成一个新的结点 (2)增加信息 (3)打印信息 (4)查找 (5)删除信息 (6)修改信息 (7)排序 插入排序 快速排序 (8)已有数据读取 (9)更新数据录入 三&…