Scratch 游戏制作教程

Scratch 游戏制作教程:接水果大作战

游戏制作是 Scratch 最受欢迎的应用方向。这篇教程带你从零开始,完整制作一个叫接水果大作战的经典小游戏。本教程使用 Scratch Desktop 3.6.0,支持 Win10/Win8/Win7/WinS2008/Vista/WinXP/WinS2003 系统。

游戏设计思路

在开始写代码之前,先想清楚这个游戏是怎么玩的。屏幕上会有一个碗,玩家用鼠标左右移动来控制碗的位置。天上会不断掉下水果,如果碗接住了水果,就增加一分并播放一个愉快的音效。如果水果掉到了地上没有接住,就失去一条命。当命用完的时候游戏就结束了。这个简单的设计涵盖了 Scratch 编程中最核心的几个概念,包括角色的运动控制、碰撞检测、变量的使用和条件判断。

搭建项目框架

上方步骤卡片的第一步已经说明了创建角色的方法。简单概括:删除默认小猫 → 从角色库添加「苹果」和「碗」→ 调整大小和位置。准备工作做好后,就可以开始编写代码了。

编写核心代码

上方步骤卡片的第二步到第五步展示了游戏的核心逻辑。这里再解释两个关键概念:

随机位置:水果从舞台顶部 y=180 的随机 x 位置掉落,这样每次游戏体验都不一样

碰撞检测:Scratch 的「碰到」积木能检测两个角色是否接触——水果碰到碗就是「接住了」,水果碰到舞台底部边缘就是「掉地上了」

理解了这两个概念,你就能举一反三,自己设计更多有趣的游戏机制。试着修改掉落速度和水果种类,看看游戏会有什么变化!

添加碰撞检测和计分

在变量类别中新建一个变量命名为分数,再新建一个变量命名为生命。在绿旗点击时把分数设为零,生命设为三。在水果的掉落循环中,加入一个如果碰到碗的判断,如果碰到了就播放一个音效,将分数增加一,然后把水果隐藏起来准备下一轮掉落。再添加一个判断,如果水果的 y 坐标小于负一百六也就是掉到了舞台底部,就将生命减少一,同样隐藏水果。

调试常见问题

如果你的水果不掉下来,检查 y 坐标增加的值是否为负数,正数会让水果往上飞。如果碗不跟随鼠标移动,确认控制碗的脚本确实放在碗角色下面而不是水果角色下面。如果分数不更新,检查新建变量时的变量名和代码中使用的变量名是否完全一致。如果碰撞检测不灵敏,可以适当调大角色的碰撞区域或者降低移动速度。

进阶游戏设计技巧

当你完成了接水果这个基础游戏之后,可以尝试加入一些进阶的设计元素让游戏更加丰富。添加难度递增机制,比如随着分数的增加水果下落的速度逐渐加快,让游戏越来越有挑战性。添加特殊道具系统,偶尔掉落的不是水果而是金色星星,接到后可以获得额外加分或者短暂的加速效果。添加音效和背景音乐来增强游戏的沉浸感。设计一个美观的开始界面,用文字和动画告诉玩家游戏规则。添加排行榜功能,利用变量和列表存储玩家的历史最高分。

如何分享你的游戏作品

制作完游戏后不要把它藏在本地,分享出去让更多人玩到你的作品。在 Scratch 桌面版中点击文件菜单里的保存到电脑,把项目导出为 sb3 文件。然后你可以把这个文件发给朋友,他们用 Scratch 打开就能玩了。如果你使用在线版,可以直接点击分享按钮发布到社区。在项目描述中写清楚你的游戏怎么玩、有什么特色,方便别人理解。发布后可以邀请同学和朋友来玩你的游戏,看看他们的反馈,这会给你继续创作新作品的动力。

游戏制作常见问题

水果掉落速度太快/太慢怎么办? 调整「将 y 坐标增加 -5」中的数值。负值越大掉落越快。

碰撞检测不灵敏怎么办? 适当增大角色尺寸,或降低掉落速度让碰撞窗口更长。

更多制作问题? 访问 Scratch 常见问题 获取完整解答。

更多 Scratch 资源

完成了第一个游戏,想看看 Scratch 社区中还有哪些精彩作品?访问 Scratch 最厉害的作品展示 寻找灵感。如果你对 Scratch 本身还不太熟悉,可以先阅读 Scratch 启蒙入门指南。