题目说明
今天为大家带来的Scratch作品是《河马捡球》,这是第10届蓝桥杯创意编程大赛Scratch国赛真题,出现在2019年5月份举办的Scratch全国总决赛中,本题是编程部分的第3题,计60分。
先来看看题目的具体说明和要求吧。
准备工作:
添加1个“Hippol”河马角色,1个“Ball”小球角色。
添加“hay field”背景。
编程实现:
河马把天上的球带回地面。
具体要求:
1.点击绿旗,小球从舞台上消失,河马位于舞台下方。
2.当按下空格键后,小球出现在背景的天空范围内的随机位置(见图1)
3.小球出现后,河马一边拍打着翅膀一边向小球飞过去,然后再拍打着翅膀把小球带回起点位置,带回过程中,小球要始终处于河马的嘴部并且处于河马图层的上方(见图2)。
4. 当河马把小球带回原处后,小球消失,河马停止拍打翅膀(见图3)。

5.再次按下空格键,能重复功能2,3,4的过程,并且小球每次出现的位置都不同。
评判标准:
- 10分:符合具体要求1,即点击绿旗,小球消失。
- 30分:在10分基础上,符合具体要求2,即当按下空格键小球出现在天空中的随机位置。
- 50分:在30分基础上,符合具体要求3和4,即小球出现后,河马可以拍打着翅膀飞行到小球位置,然后把小球带回起始位置,小球始终在最上方,回到初始位置后,小球消失,河马停止拍打翅膀。
- 60分:在50分基础上,符合具体要求5,即再次按下空格键可循环运行。
作品效果
先来看看作品的效果吧,如视频所示:
作品解读
本作品只有两个角色,都来自于scratch自带的角色库,如图所示:

简单来说,本题要实现的效果是当按下空格键时,小球在天空随机位置显示,然后河马滑行过去,找到小球之后,将小球带回到出发点。重点需要注意的有如下三点:
- 河马的移动和拍打翅膀是同步进行的,要使用多线程的编程思想;
- 要确保小球始终在河马的头部位置;
- 要精确控制河马和小球之间的互动关系;
对于第一点,我们可以使用两个代码块来编写程序,一段代码负责滑行到指定位置,另外一段代码负责切换造型,实现拍打翅膀效果。
对于第二点,最好的方法就是修改河马角色的造型中心,将其造型中心设置为头部,如图所示:

对于第三点,则可以使用事件广播机制来实现。
hippo角色的代码如图所示:

对应的小球角色的代码如图所示:

© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容