网教网

搜索
查看: 97|回复: 2

Scratch少儿图形化编程-障碍赛跑

[复制链接]

3

主题

5

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-3-10 17:29:53 | 显示全部楼层 |阅读模式
障碍赛跑
1题目要求

完成一个躲避障碍物的小游戏,学习了如何检测键盘按键,如何检测两个角色是否碰到,学习使用变量控制运动变化。
1、点击程序开始后,舞台上呈现出移动的画面,画面从右向左移动,速度为3;
2、小精灵(大小60、位置:-180,-113)站在舞台的左侧跑动,使用造型切换实现;
3、舞台右侧每隔2-3秒会有石头出现并向舞台的左侧移动,每块石头大小不一样,大小在60-80之间随机;初始移动速度为5;



4、当按下空格键时小精灵会跳跃到空中躲避石头,小精灵跳跃要符合重力习惯(向上时越来越慢,向下时越来越快),落下来后要能够回到原位;
5、每块石头被躲过后,接下来所有的石头的移动速度都会增加0.5,游戏会越来越难;
6、当小精灵碰到石头后,游戏失败。
视频演示:


https://www.zhihu.com/video/1614340144772866048


7、拓展:增加功能,让小精灵在空中获得再次小幅跳跃的能力,每次在空中都有两次这样的机会
8、拓展:添加收集功能,舞台上方Y坐标0位置,会不停的有礼物(大小60)从舞台右侧出现,每次会连续出现1-3个,每次间隔4-8秒,当小精灵跳起来碰到这些礼物时即代表收集到了,将得分增加1。礼物的移动速度和背景画面移动速度一样。
视频演示:


https://www.zhihu.com/video/1614340257679368192


9.2编程思路

1、根据题目要求,我们发现舞台背景竟然要移动,但是正常情况下我们的背景是不可能移动的,如图所示。



在scratch舞台上,一般只有角色能移动,那我们就要想办法让背景图片变成角色。我们可以使用造型绘制区的复制粘贴功能来实现



我们总共需要2张一样的图片角色来实现背景图片得到循环滚动,原理如下:
图片向左移动,很快右侧露出了背景,如图4.4.7所示。显然,只靠一个图片角色,不能实现循环滚动,那就使用两个图片角色。为方便描述,起名图片1和图片2。
原理:
(1)黑框为舞台显示区域,两张图片的初始位置如图。运行程序后,两张图片同时向左移动。



(2)过了一会,图片1有一半走出了舞台,此时图片2有一半进入了舞台。



(3)又过了一会,图片1完全走出舞台,此时图片2完整地显示在舞台内。



(4)这时如果再继续移动,舞台右侧又会露出白色背景。此时,需要将图片1移到图片2右侧的黑色虚线框内。



(5)不管是图片1,还是图片2,只要完全移出舞台,都要瞬间移到最右侧黑色虚线框内,这样就可以实现背景的循环滚动。
明白了原理后,我们需要通过测试找到图片角色能走到舞台最左边和最右边的位置坐标。保证两张图片都是一样的速度。
两张图片角色程序如下:



2、设置小精灵角色的初始位置,使用造型切换实现小精灵跑动效果;设置变量“弹跳力”变量,利用变量的增减用来控制小精灵的上下移动,可以方便的实现“上升时越来越慢,下降时越来越快”的效果;使用y坐标来判断小精灵是否落到地面上了;



3、设置石头的初始属性,使用克隆体积木不停的生成克隆体,使用随机数积木控制克隆体生成速度和克隆体大小;设置变量“难度”,每当有石头移动到舞台左侧时,就将难度增加-0.5;

回复

使用道具 举报

1

主题

5

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-3-10 17:30:13 | 显示全部楼层
评论区留言,获取源程序
回复

使用道具 举报

2

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2025-4-8 04:19:01 | 显示全部楼层
路过的帮顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表