为孩子们准备的Scratch足球项目:击败守门员

由 小石头编程 发表于 2024年05月23日
### 简介 在这个项目中,我们将学习如何创建一个2人足球游戏,在30秒内尽可能多地进球。 点击绿旗开始,使用左右方向键控制守门员,按空格键踢球。 ![](https://www.codxz.com/media/upload/2024052319580761.png) ### 资源获取 ![](https://www.codxz.com/media/upload/2024042517221275.png) 想要获取项目文件,可扫码关注“小石头编程”公众号,回复“**守门员**”获取下载地址。 ### 能学到的知识 在这个项目中,我们可以学到以下知识: - 如何使用代码响应按键操作 - 使用感应积木检测精灵是否接触到彼此 - 使用广播积木在精灵之间进行通信 ### 项目制作 #### 1、移动足球 在这个项目中,需要一个门框背景、一个足球和一个守门员精灵,下面是资源图片 ![](https://www.codxz.com/media/upload/2024052320035896.png) ![](https://www.codxz.com/media/upload/2024052320035864.png) ![](https://www.codxz.com/media/upload/2024052320035898.png) 添加足球和守门员角色,将背景设置为门框背景。 点击我们的足球精灵。添加以下代码,让足球沿着屏幕底部移动,直到按下空格键。 ![](https://www.codxz.com/media/upload/2024052320061419.png) 点击绿色旗帜测试项目,足球应该沿着屏幕底部弹跳,直到按下空格键。 ![](https://www.codxz.com/media/upload/2024052320064789.png) 在足球精灵上添加以下代码,使得在按下空格键后,足球会向门框移动。 ![](https://www.codxz.com/media/upload/2024052320075827.png) 点击绿色旗帜测试代码。这次,按下空格键后,足球应该向门框移动。 ![](https://www.codxz.com/media/upload/2024052320083733.png) > 点击绿色旗帜测试代码。如果第二次点击旗帜会发生什么? > 第二次点击时,球可能会在不正确的位置。我们需要在绿旗点击时,重置球的位置 ![](https://www.codxz.com/media/upload/2024052320120080.png) #### 2、判断是不是一个进球 当球到达门框后,需要做出判断。如果球接触到守门员,则为扑救成功,否则就是进球。 在足球精灵代码的末尾添加以下代码,以便检查球是否接触到守门员。 ![](https://www.codxz.com/media/upload/2024052320143780.png) 当球碰到守门员时,可以向守门员广播一条消息,告诉守门员,球被扑救了。 当球被扑救时,广播一条'save'消息,同时播放声音'rattle'。 现在可以编写守门员的代码,当收到'save'消息时说'Save!'。 ![](https://www.codxz.com/media/upload/2024052320171922.png) 测试代码,检测守门员扑救成功时,应该说'Save!'。 ![](https://www.codxz.com/media/upload/2024052320182543.png) 如果没有碰到守门员,则广播一条'goal'消息,告知守门员进球了,同时播放声音'cheer'。 给守门员添加以下代码,当收到'goal'消息时说'Goal!'。 ![](https://www.codxz.com/media/upload/2024052320194247.png) 测试代码,当进球时,守门员会说什么 ![](https://www.codxz.com/media/upload/2024052320203559.png) #### 3、添加一个定时器 让我们添加一个计时器,这样玩家就必须在30秒内尽可能多地进球。 首先添加一个变量"timer", 然后在舞台上添加代码,在开始时,将变量"timer"设置为30 ![](https://www.codxz.com/media/upload/2024052320221899.png) 接下来,我们需要添加一个重复直至积木,这样计时器就可以一直运行直到倒计时到0。 ![](https://www.codxz.com/media/upload/2024052320225620.png) 一旦计时器倒计时到0,我们播放'whistle'声音,然后停止游戏。 ![](https://www.codxz.com/media/upload/2024052320232516.png) 点击绿色旗帜测试代码,计时器应该从30开始倒计时,直到0。 目前只有一次进球的机会,要有多于一次的机会,请在足球代码周围添加一个永远执行积木,还可以在每次尝试之间添加一个等待积木。 ![](https://www.codxz.com/media/upload/2024052320253994.png) #### 4、挑战: 添加一个得分 我们能为游戏添加一个得分变量吗? 我们应该在游戏开始时将得分设置为0,每次进球时,应该给得分加1。 我们需要下面2个积木: ![](https://www.codxz.com/media/upload/2024052320265383.png) #### 5、控制守门员 进球实在太容易了,让我们让第二个玩家来尝试阻挡进球。 点击守门员精灵,添加以下代码来改变守门员的x轴位置,当按下左箭头时 ![](https://www.codxz.com/media/upload/2024052320274015.png) 按下左箭头测试新代码,守门员应该向左移动。 下面让我们添加向右移动的代码,当按下右箭头时 ![](https://www.codxz.com/media/upload/2024052320283322.png) #### 6、挑战:手动控制足球 与其足球自动左右移动,不如让玩家用A和D键来控制足球的移动。 要做到这一点,我们需要删除让足球左右移动的代码。 ![](https://www.codxz.com/media/upload/2024052320302437.png) 然后我们可以添加代码来实现在按键时移动足球,让我们尝试去完成挑战吧。