Scratch 打地鼠游戏教程
第一步:游戏目标与设计思路
在开始之前,我们先明确一下游戏的目标和基本规则:

- 目标:用锤子点击随机从洞里冒出来的地鼠,获得分数。
- 规则:
- 地鼠会随机从不同的洞中出现,过一会儿后会消失。
- 玩家需要快速点击地鼠。
- 每成功打中一只地鼠,分数加 1。
- 如果点错了(比如点了空地),可能会扣分或者没反应,这个我们先设计成不扣分。
设计思路:
- 舞台:作为游戏的背景,显示草地和多个地洞。
- 地鼠:一个角色,会从洞里出现和消失。
- 锤子:一个角色,代表玩家的鼠标指针。
- 分数:一个变量,用来记录玩家的得分。
第二步:准备素材
-
打开 Scratch:在浏览器中访问 scratch.mit.edu,点击“创建”按钮。
-
选择背景:
- 点击舞台左下角的“舞台”图标。
- 切换到“背景”选项卡。
- 点击“选择一个背景”,在“自然”分类下选择
grass(草地)。 - 我们还需要画几个地洞,点击“绘制”按钮,选择一个深棕色或黑色的圆形,在草地上画几个半圆作为地洞,建议画 3-5 个,排列整齐。
-
添加地鼠角色:
(图片来源网络,侵删)- 点击左下角的“选择一个角色”按钮。
- 在“动物”分类下选择一个你喜欢的地鼠形象,
Cat(猫) 或者Husky(哈士奇),我们暂时用它来代表地鼠,你也可以自己画一个。 - 给地鼠角色命名,地鼠”。
-
添加锤子角色:
- 再次点击“选择一个角色”。
- 在“物品”分类下选择
Hammer(锤子)。 - 给锤子角色命名,锤子”。
第三步:编写核心代码
我们将分角色来编写代码。
锤子的代码
让锤子跟随鼠标移动,并且在点击时有一个“敲击”的动画效果。
- 点击“锤子”角色,进入其代码区。
- 添加以下代码块:
// 当绿旗被点击时
当绿旗被点击
// 重复执行,让锤子一直跟随鼠标
重复执行
将 x 坐标设置为 (鼠标的 x)
将 y 坐设为 (鼠标的 y)
// 下面的代码让锤子在点击时旋转,模拟敲击
<鼠标按下?>
将 [旋转 v] 设为 (180)
否则
将 [旋转 v] 设为 (0)
end
end
代码解释:
当绿旗被点击:游戏开始。重复执行:让锤子持续跟随鼠标。将 x/y 坐标设置为鼠标的 x/y:这是实现“跟随”效果的关键。<鼠标按下?>:检测玩家是否按下了鼠标。将 [旋转 v] 设为 (180):当按下鼠标时,锤子旋转 180 度,看起来像在敲击。否则:当松开鼠标时,锤子转回原位。
地鼠的代码
这是游戏最核心的部分,地鼠需要:
-
随机从一个洞出现。
-
显示一段时间后消失。
-
被点击时,播放一个声音并隐藏,同时让分数增加。
-
点击“地鼠”角色,进入其代码区。
第一部分:随机出现和消失
// 当绿旗被点击时
当绿旗被点击
// 隐藏地鼠,一开始它不应该出现
隐藏
// 重复执行,让地鼠不断循环出现
重复执行
// 等待一个随机的时间 (1 到 3 秒)
等待 ((1) 到 (3)) 秒
// 显示地鼠
显示
// 等待一个随机的时间 (0.5 到 2 秒),地鼠保持显示
等待 ((0.5) 到 (2)) 秒
// 隐藏地鼠
隐藏
end
代码解释:
隐藏:游戏开始时,地鼠先隐藏起来。重复执行:一个无限循环,让地鼠可以反复出现。等待 ((1) 到 (3)) 秒:这个...到...的积木需要你从“时间”分类里找到,它能产生一个随机数,让地鼠出现的时间间隔不确定,增加游戏趣味性。显示/隐藏:控制地鼠的可见性。
第二部分:被点击时的反应
我们需要在“地鼠”角色的另一个代码块中处理被点击的事件。
// 当这个角色被点击时 当被点击 // 增加分数 将 [分数 v] 增加 (1) // 播放一个打击音效 (从声音库选择一个) 播放声音 [Pop v] // 隐藏地鼠,表示被打中了 隐藏
代码解释:
当被点击:检测是否有角色点击了“地鼠”。将 [分数 v] 增加 (1):这是增加分数的代码。注意:分数是一个变量,我们还没创建它。播放声音 [Pop v]:从声音库选择一个“Pop”或“Water”等类似的声音,增加游戏反馈感。
第四步:创建和管理分数变量
我们需要一个变量来记录分数。
- 点击舞台左上角的“变量”分类。
- 点击“新建一个变量”。
- 给变量命名为
分数。 - 确保“适用于所有角色”被勾选(这样锤子和地鼠都可以操作它)。
- 勾选
分数前面的复选框,这样舞台上就能实时显示分数了。
初始分数设置: 为了让分数从 0 开始,我们需要在游戏开始时将其设为 0。
- 回到“锤子”角色的代码区,在
当绿旗被点击下面添加一行代码:将 [分数 v] 设为 (0)
第五步:整合与优化
我们把所有代码整合起来,并做一些优化。
优化点:地鼠的随机位置
目前地鼠每次都出现在同一个位置(舞台中央),我们需要让它出现在不同的洞里。
- 在舞台上,记下每个地洞的大致坐标。 比如你有 3 个洞,坐标分别是 (-100, 50), (0, 50), (100, 50)。
- 修改“地鼠”角色的代码:
// 当绿旗被点击时
当绿旗被点击
// 隐藏地鼠,一开始它不应该出现
隐藏
// 重复执行,让地鼠不断循环出现
重复执行
// 等待一个随机的时间 (1 到 3 秒)
等待 ((1) 到 (3)) 秒
// 随机选择一个位置 (假设有3个洞)
< (随机选 (1) 到 (3)) = (1) >
移到 x: (-100) y: (50)
否则如果 < (随机选 (1) 到 (3)) = (2) >
移到 x: (0) y: (50)
否则
移到 x: (100) y: (50)
end
// 显示地鼠
显示
// 等待一个随机的时间 (0.5 到 2 秒),地鼠保持显示
等待 ((0.5) 到 (2)) 秒
// 隐藏地鼠
隐藏
end
代码解释:
- 我们使用
..否则如果...否则结构来随机选择一个坐标。 随机选 (1) 到 (3)会随机产生 1, 2, 或 3。- 根据 1, 2, 3 的不同,地鼠就移动到对应的洞口上方。
最终代码检查
-
锤子:
当绿旗被点击将 [分数 v] 设为 (0)重复执行将 x 坐标设为...将 y 坐标设为...<鼠标按下?> ...
-
地鼠:
当绿旗被点击隐藏重复执行(包含等待、显示、等待、隐藏)当被点击将 [分数 v] 增加 (1)播放声音...隐藏
第六步:测试与分享
- 点击舞台右上角的绿旗,开始你的游戏!
- 测试一下:地鼠是不是随机出现?锤子是不是跟随鼠标?点击地鼠分数会不会增加?
- 如果一切正常,恭喜你!你已经成功制作了第一个打地鼠游戏!
- 点击“分享”按钮,将你的作品发布到 Scratch 社区,让更多人看到你的创意!
进阶玩法(可选)
如果你想挑战一下,可以尝试添加以下功能:
- 倒计时:添加一个
时间变量,游戏开始后倒计时 30 秒,时间到了游戏结束。 - 生命值:添加一个
生命变量,如果地鼠出现了但没被打中,就扣一点生命,生命为 0 时游戏结束。 - 不同地鼠:添加一个“黄金地鼠”,它出现时间很短,但打中后分数加 5 分。
- 难度递增:随着分数增加,地鼠出现和消失的时间可以变快。
希望这个教程对你有帮助!享受创造的乐趣吧!
