击打魔法鱼

描述

在项目开始之前,我会告诉你一条神奇鱼的故事。 在浩瀚的海底世界,有一条神奇的魔鱼。 当你用海星击中它时,它会变成另一条鱼。

今天我们用scratch来模拟一个海底世界,然后加入海星精灵和魔鱼精灵来制作一个“打魔鱼”的小游戏。

点击绿旗开始。 按空格键发射海星。

或者点击 Hit the magic fish, 然后在Scratch官网学习在线教程。

所需组件

  • A RasPad 3

  • Scratch 3 (either online or offline)

你会学到

  • 让角色在碰到舞台边缘时反弹。

  • 更改坐标以使角色移动。

  • 做一个计时器。

  • 使用广播告诉角色发生了什么。

课程指南

这条鱼在游泳。

添加角色 FishStar 以及背景 Underwater1

_images/fish1.png

让鱼出现在坐标 (-240,120)处, 然后让它左右游动。

使用 「碰到边缘就反弹」 代码块使鱼从边缘开始游动,当碰到墙壁时,它会朝着与原来相反的方向折回。

_images/fish2.png

星星升起

让星星出现在坐标(0,-120)上.。如果按下 或者 键,星星会向着左右移动。

用 「按下 ... 键?」代码块来检测按键是否按下, 并用 「将X坐标增加 ...」 来移动角色。

_images/fish3.png

然后让星星动起来,如果按下空格键,星星的y坐标值会增加,星星上升。

_images/fish4.png

有没有感觉到哪里不对劲?星星应该继续上升,直到达到和鱼一样的高度(还记得吗?我们为鱼设置的 y 坐标是 120)然后返回。

_images/fish5.png

这样看起来就好多了。

用星星砸鱼

星星升起之后可以用 「碰到...?」 代码块来判断是否砸到了鱼。

当星星砸到鱼之后,我们需要发出一个消息告诉鱼,并让鱼做出相应的反应--改变鱼的形状。

我们设置了 "Hit" 广播。 这个广播可以发出一个 "Hit" 的消息,让所有角色或者背景知道并作出相应的反应。

_images/fish6.png

回到鱼的编程界面编写鱼接收到 "Hit" 之后的反应,用 「当接收...」 代码块判断是否接收到信息, 然后用 「下一个服装」 来改变鱼的形态。

_images/fish7.png

计算得分

为了让游戏更有趣,可以添加评分机制。当单击绿旗时,分数将重置为零。当接收到 "Hit" 消息时,分数增加1.

_images/fish8.png

注解

你可以将计算得分的代码块放在背景中。

倒计时

使游戏更丰富还可以添加时间机制。当点击绿旗时,计时器设置为30s,然后每秒递减1,直到时间减为0的时候结束游戏。

但如果接收到 "Hit" 的信息时,可以让计时器加1以增加游戏时间。

_images/fish9.png

挑战

相信你很快就能掌握并实现这个游戏。接下来可以添加下面的内容来使你的游戏更丰富。

  • 添加三条不同的魔法鱼

  • 击中其中一条会获得双倍积分

  • 几种另外一条会减少游戏时间

  • 击中第三条会更换背景