海底寻鱼大冒险 —— 用Scratch制作点击鱼类加分小游戏

动手做一个会变声的点击小游戏,看看你能抓到多少条鱼!🐟

由 小石头编程 发表于 2025年12月17日 · 阅读量 2
## 👋 项目介绍 欢迎来到《海底寻鱼大冒险》的世界!在这个项目中,我们将一起制作一个有趣的点击游戏:屏幕上会出现各种各样的海洋生物,比如小丑鱼、鲨鱼、水母……你要做的就是快速点击它们来获得分数!每点击一条鱼就能加10分,累计到50分就会播放胜利音效并结束游戏。而且,随着分数的提高,背景音乐会变得越来越“高音”,听起来是不是很酷? 这个游戏不仅好玩,还能让你学到很多Scratch编程的核心知识,比如**克隆体的使用**、**变量控制**、**音效调节**等等。让我们一起潜入深海,开启这段有趣的编程旅程吧! ## 🎯 你将学会 * 如何使用克隆体功能动态生成多个角色副本 * 怎样通过变量记录和更新游戏得分 * 掌握音效与变量联动的设计方法 * 实现角色点击反馈与删除克隆体的机制 --- ## 🛠️ 开始制作 ### 第一步:创建新项目并设置舞台 我们要做的第一件事就是准备好我们的游戏舞台。想象一下,整个游戏就像一场海底探险,所以我们要把舞台打扮得像一个美丽的海底世界。 **操作步骤:** 1. 打开Scratch编辑器,创建一个新项目。 2. 删除默认的白色背景(右键点击背景 → 删除)。 3. 点击“背景库”按钮,选择“Underwater 1”作为我们的海底背景。 ![action:1](https://www.codxz.com/media/upload/2025121711282782_screenshot_1.png) --- ### 第二步:添加角色 Sprite1 及其资源 接下来,我们要为主角——也就是那些游来游去的小鱼们——添加造型和声音资源。我们将为同一个角色“Sprite1”准备多种不同的鱼类外观,让它看起来更丰富多样。 **操作步骤:** 1. 点击“角色库”按钮,选择“Sprite1”作为初始角色。 2. 依次为它添加以下造型文件: - Fish-a - Fish-b - Fish-c - Fish-d - Jellyfish-a - Jellyfish-c - Pufferfish-a - Shark-a - Shark-b 3. 再进入“声音”标签页,导入三个声音: - Chill(用于背景音乐) - Pop(点击鱼时播放) - Tada(胜利时播放) ![action:5](https://www.codxz.com/media/upload/2025121711282782_screenshot_5.png) --- ### 第三步:创建全局变量 Score 为了让玩家知道自己得了多少分,我们需要建立一个叫作 `score` 的变量,并把它设成全局可见的状态,这样在舞台上也能看到当前得分。 **操作步骤:** 1. 在代码区点击左上角的【变量】类别。 2. 点击“新建变量”按钮,命名为 `score`。 3. 勾选“对所有角色显示变量”。 ![action:17](https://www.codxz.com/media/upload/2025121711282782_screenshot_17.png) --- ### 第四步:编写 Sprite1 初始化脚本 每次重新开始游戏的时候,我们都希望一切归零。因此我们要写一段脚本,在绿旗被点击后播放音乐并清空之前的得分。 **代码实现:** ```scratch when flag clicked set [score v] to [0] forever play sound [Chill v] until done end ``` **逻辑解析:** 这个脚本会在程序启动时把分数设为0,然后无限循环播放“Chill.mp3”这首舒缓的背景音乐。只要音乐播完就重新开始,营造轻松的游戏氛围。 --- ### 第五步:设置音效随分数变化 为了让游戏更有动感,我们可以让背景音乐的音调随着得分增加而升高。这需要使用到“声音特效”的控制模块。 **代码实现:** ```scratch when flag clicked forever set [PITCH v] effect to (score) end ``` **逻辑解析:** 这段代码会让`PITCH`(音调)的效果值等于当前的`score`数值。也就是说,当你不断点击鱼、分数上涨时,背景音乐也会逐渐变成更高的音调,带来一种奇妙的听觉体验! --- ### 第六步:游戏结束判断及胜利音效 一旦得分达到50分,我们就认为玩家完成了挑战,这时候应该停止其他脚本运行,并播放庆祝胜利的声音。 **代码实现:** ```scratch when flag clicked set [score v] to [0] wait until <(score) = [50]> stop [other scripts in sprite v] clear sound effects play sound [Tada v] until done ``` **逻辑解析:** 这段脚本首先重置分数,接着一直等待直到分数达到50为止。一旦满足条件,它就会暂停当前角色的所有其它脚本,并清除之前设置的音效,最后播放一声响亮的“Tada!”表示恭喜通关! --- ### 第七步:克隆体显示控制 为了让鱼儿真正出现在舞台上而不是一开始就藏起来,我们需要在克隆体刚刚诞生的那一瞬间让它显现出来。 **代码实现:** ```scratch when I start as a clone show ``` **逻辑解析:** 每当一个新的克隆体被创建时,这段代码会立刻让它从隐藏状态变为可见状态,从而实现在画面上“突然出现”的效果。 --- ### 第八步:随机生成鱼群 现在我们已经可以让一只鱼出现了,但如果想做出一群鱼的感觉呢?这就需要用到循环和克隆技术了。 **代码实现:** ```scratch when flag clicked hide repeat (5) go to (random position v) next costume create clone of [_myself_ v] end ``` **逻辑解析:** 这段脚本在绿旗点击后会先把原始角色隐藏掉,再重复5次下面的动作:跳转到舞台上的任意位置、切换下一个造型、然后复制自己一次。这样就能一次性创造出5个不同种类、分布在不同地点的鱼啦! --- ### 第九步:点击鱼类加分并移除 最后也是最关键的一步:让用户可以通过鼠标点击鱼来获取分数,并且让被点过的鱼消失不见。 **代码实现:** ```scratch when this sprite clicked start sound [Pop v] change [score v] by (10) delete this clone ``` **逻辑解析:** 当任何一个鱼型克隆体被点击时,都会触发这个脚本。它会播放“Pop”的点击音效、将总分增加10分,并立即删除该克隆体本身,防止重复计分。 --- ### 第十步:运行演示并保存截图 终于到了见证奇迹的时刻!点击绿色旗帜,看看你的海底世界是否活跃起来了?记得截一张图留念哦~ **操作步骤:** 1. 点击上方的绿色旗帜运行项目。 2. 查看舞台表现,确认鱼群正常生成、点击有效、得分增长。 3. 截图保存精彩画面。 ![action:75](https://www.codxz.com/media/upload/2025121711282782_screenshot_75.png) --- ## 🚀 挑战一下 你有没有想过怎么让难度更高一些?试试这些升级方向: - 让鱼的数量随着得分提升而增多; - 给某些特殊鱼类设定负分(比如不小心点了鲨鱼就要扣分); - 加入倒计时模式,限定时间内尽可能多地抓鱼; 发挥你的创意,把这个小游戏做得更加精彩吧! --- ## 🎉 结语 太棒啦!你已经成功完成了一个完整又有趣的Scratch小游戏!从角色设计、动画呈现,再到交互逻辑和音效搭配,每一个环节都是你自己亲手打造出来的作品。希望你在编程的过程中感受到了创造的乐趣,也期待你能继续探索更多精彩的Scratch项目! 如果你喜欢这篇文章,请分享给你身边的小伙伴,一起加入这场有趣的编程之旅吧!🌊🐟🎉

项目下载