从零开始!超详细Scratch小游戏制作教程(附源码),新手也能轻松上手!
** 想不想亲手制作一个属于自己的小游戏?本教程将手把手教你用Scratch平台,从零开始制作一个简单又有趣的“躲避障碍物”小游戏,无论你是零基础的小朋友,还是想入门编程的家长,跟着这篇超详细的Scratch小游戏教程,你也能快速掌握游戏开发的核心逻辑!

为什么选择Scratch作为编程入门第一步?
在开始我们的创作之旅前,让我们先聊聊为什么Scratch如此适合编程新手。
- 图形化编程,告别代码恐惧: Scratch通过拖拽积木块的方式编程,完全不需要记忆复杂的语法,这让编程变得像搭积木一样直观有趣。
- 即时反馈,成就感满满: 编写完代码后,点击绿旗即可立即运行,看到角色的实时变化,这种即时反馈能极大地激发学习兴趣和成就感。
- 培养逻辑思维: 制作小游戏需要规划角色、设计情节、编写逻辑,这个过程本身就是对逻辑思维、计算思维和问题解决能力的绝佳锻炼。
- 社区强大,创意无限: Scratch拥有全球庞大的创作者社区,你可以学习别人的作品,分享自己的创意,在交流中共同进步。
准备好了吗?让我们开启今天的Scratch小游戏制作之旅!
游戏构想:“星际大冒险”躲避游戏
今天我们要制作的游戏叫做“星际大冒险”,游戏规则非常简单:
- 玩家控制一艘宇宙飞船(我们称之为“玩家”角色)。
- 按键盘的 左右方向键,控制飞船在屏幕底部水平移动。
- 从屏幕顶部会不断掉落陨石(我们称之为“障碍物”角色)。
- 玩家需要控制飞船躲避掉落的陨石。
- 一旦飞船被陨石砸到,游戏结束,并显示最终得分。
这个游戏虽然简单,但包含了游戏开发中最核心的几个要素:角色控制、碰撞检测、随机生成、计分系统,掌握它们,你就能制作出更复杂的游戏!

准备工作:创建项目和角色
- 打开Scratch: 访问 scratch.mit.edu,点击“创建”按钮,进入项目编辑器。
- 删除默认角色: 点击舞台左上角的“删除”按钮,擦掉默认的小猫角色。
- 添加“玩家”角色(宇宙飞船):
- 点击角色区域的“选择一个角色”按钮。
- 在“Things”分类中,找到并选择一个飞船或火箭的图片,rocket”。
- 添加“障碍物”角色(陨石):
- 再次点击“选择一个角色”按钮。
- 在“Things”分类中,找到并选择一个陨石或岩石的图片,rock”。
你的舞台上应该有一艘飞船和一块陨石了。
游戏制作四步曲:从逻辑到完善
我们将分四步来完成这个游戏,请跟随我的步骤,将对应的积木块拖拽到对应角色的“脚本”区域。
第一步:让玩家动起来——控制飞船移动
这是游戏的核心交互,我们需要让飞船能响应键盘指令。
- 选中“玩家”角色(飞船)。
- 在“代码”标签页,开始编写脚本:
// 当绿旗被点击时,游戏开始
当 ⚑ 被点击
// 1. 设置飞船的初始位置(屏幕底部中央)
将 x 坐标设定为 (0)
将 y 坐标设定为 (-150)
// 2. 无限循环,持续监听键盘事件
重复无限次
// 如果按下左方向键,飞船向左移动
<按键 [左箭头 v] 被按下?>
将 x 坐标增加 (-10) // 负值表示向左
end
// 如果按下右方向键,飞船向右移动
<按键 [右箭头 v] 被按下?>
将 x 坐标增加 (10) // 正值表示向右
end
// 防止飞船移出屏幕边界
<(x 坐标) < (-240)>
将 x 坐标设定为 (-240)
end
<(x 坐标) > (240)>
将 x 坐标设定为 (240)
end
// 等待一小段时间,让移动更平滑
等待 (0.1) 秒
end
代码解析:
当 ⚑ 被点击:这是所有脚本的起点,确保游戏开始时重置飞船位置。重复无限次:让飞船能够持续响应按键,而不是只移动一次。....:这是条件判断,只有当条件成立时,才执行里面的代码。将 x 坐标增加:通过改变角色的x坐标来实现水平移动。
第二步:让危险降临——陨石随机掉落
我们需要让陨石从屏幕顶部随机位置出现并掉落。
- 选中“障碍物”角色(陨石)。
- 编写脚本:
// 当绿旗被点击时,游戏开始
当 ⚑ 被点击
// 1. 设置陨石的初始位置(隐藏在屏幕外)
将 x 坐标设定为 ((随机数 (-240) 到 (240)))
将 y 坐标设定为 (180)
显示
// 2. 无限循环,让陨石不断掉落
重复无限次
// 陨石向下移动
将 y 坐标增加 (-5) // 负值表示向下
// 如果陨石移出屏幕底部,就让它回到顶部,并随机x坐标,实现循环效果
<(y 坐标) < (-180)>
将 x 坐标设定为 ((随机数 (-240) 到 (240)))
将 y 坐标设定为 (180)
end
// 等待一小段时间,控制下落速度
等待 (0.1) 秒
end
代码解析:
随机数 (-240) 到 (240):这是Scratch的魔法!它能生成一个指定范围内的随机数,这样陨石就会从屏幕顶部的不同位置出现,让游戏变得不可预测。将 y 坐标增加 (-5):负的y坐标值,让角色向下移动。- 陨石移出屏幕后重置位置,而不是删除,这样可以避免创建过多角色,优化性能。
第三步:设置胜负规则——碰撞检测
这是游戏最激动人心的部分!当飞船和陨石相撞时,游戏应该结束。
- 回到“玩家”角色(飞船)的脚本。
- 在我们之前写的
重复无限次循环内部,最后添加碰撞检测逻辑:
// ... (在第一步的代码基础上修改)
重复无限次
// ... (移动和边界检测的代码保持不变)
// 3. 新增:碰撞检测!
// 如果碰到“障碍物”角色,..
<碰到 [rock v] ?>
// 播放一个声音效果(可选)
播放声音 [Crash v]
// 说一句“游戏结束”
说 [游戏结束!] (2) 秒
// 停止全部脚本,游戏结束
停止 [全部 v]
end
等待 (0.1) 秒
end
代码解析:
碰到 [rock v] ?:这是Scratch的碰撞检测积木,它会检测当前角色(飞船)是否与指定角色(陨石,即rock)有接触。停止 [全部 v]:一旦发生碰撞,这个积木会停止舞台上所有角色的所有脚本,完美地实现了“游戏结束”的功能。
第四步:增加计分系统——让游戏更有挑战性
一个没有分数的游戏是不完整的!让我们为游戏增加一个计分器。
- 点击舞台左下角的“背景”图标,切换到“背景”编辑模式。
- 点击“选择一个背景”,选择一个星空背景,增加游戏氛围。
- 点击舞台右上角的“变量”按钮。
- 在弹出的窗口中,创建一个新变量,命名为“分数”,并选择“适用于所有角色”。
我们来编写计分逻辑。
- 回到“障碍物”角色(陨石)的脚本。
- 在它的
重复无限次循环内部,添加计分逻辑,最简单的规则是:陨石每成功掉落一次(即回到顶部),玩家就得一分。
// ... (在第二步的代码基础上修改)
重复无限次
// 陨石向下移动
将 y 坐标增加 (-5)
// 4. 新增:计分逻辑
// 如果陨石移出屏幕底部,增加分数
<(y 坐标) < (-180)>
// 将分数变量的值增加1
将 [分数 v] 的值增加 (1)
end
// ... (重置位置的代码保持不变)
等待 (0.1) 秒
end
代码解析:
将 [分数 v] 的值增加 (1):当陨石成功掉落并重置时,分数变量就会加1。
- 显示分数: 点击舞台,在“代码”标签页,添加一个简单的脚本来在舞台上显示分数。
// 当绿旗被点击时 当 ⚑ 被点击 // 将分数初始值设为0 将 [分数 v] 的值设定为 (0)
运行你的游戏吧!看看舞台左上角是不是出现了“分数:0”的字样?随着陨石不断掉落,分数是不是在增加?
总结与进阶:你的Scratch之旅才刚刚开始
恭喜你!你已经成功制作了你的第一个Scratch小游戏,回顾一下我们今天学到的重要概念:
- 事件驱动:
当绿旗被点击、当按键被按下。 - 循环结构:
重复无限次,让动作持续进行。 - 条件判断:
....,实现游戏逻辑分支。 - 变量:
分数,用于存储和变化的数据。 - 碰撞检测:
碰到...,判断游戏状态。
这些是几乎所有电子游戏都离不开的基石,掌握了它们,你就可以尝试制作更复杂的游戏了,
- 增加难度: 随着分数增加,让陨石下落速度变快。
- 添加道具: 比如一个“护盾”道具,可以让玩家在短时间内无敌。
- 多关卡设计: 设计不同的背景和障碍物,通关后进入下一关。
编程的世界充满无限可能,Scratch就是开启这扇大门的最好钥匙,希望这篇详细的Scratch小游戏教程能帮助你迈出第一步,去Scratch社区分享你的杰作,或者开始构思你的下一个游戏吧!
#Scratch #Scratch教程 #少儿编程 #编程入门 #小游戏制作 #零基础学编程
