用 Scratch 做一个跑酷游戏:编程入门实录

用 Scratch 做一个跑酷游戏:编程入门实录

文杰
3 分钟

用 Scratch 做一个跑酷游戏:编程入门实录

我第一次用 Scratch 做游戏的时候,以为编程很难。结果发现,Scratch 就像搭积木——把不同颜色的代码块拼在一起,就能让角色动起来。今天我带你做一个跑酷游戏,从零开始,保证你能跟上。

准备工作

  1. 打开浏览器,访问 scratch.mit.edu
  2. 点击"创建"进入编辑器
  3. 不用注册也能用,但建议注册一个账号方便保存

第一步:创建角色

我们需要两个角色:玩家障碍物

玩家角色

  1. 点击右下角"选择一个角色"
  2. 搜索"Cat"(小猫),选那个经典的 Scratch 猫
  3. 或者你可以画一个自己的角色——点"绘制"自己画一个火柴人也行

障碍物角色

  1. 再添加一个新角色
  2. 搜索"Tree"或"Rock",选一个作为障碍物
  3. 把它缩小到合适大小(在属性面板里调整大小为 50 左右)

第二步:让玩家跳起来

跑酷游戏的核心操作就是跳跃。选中玩家角色,添加以下积木:

初始化位置

当绿旗被点击
将 x 设为 (-150)
将 y 设为 (-100)

这段代码让玩家每次开始游戏都在同一个位置。

跳跃逻辑

当按下 [空格] 键
如果 <(y 坐标) = (-100)> 那么
  重复 (10) 次
    将 y 增加 (15)
  等待 (0.01) 秒
  重复 (10) 次
    将 y 增加 (-15)

原理很简单:

  • 按空格时,先检查角色是不是在地面上(y = -100)
  • 如果在地面,先往上移动 10 次(每次 15 步)——这是上升
  • 然后往下移动 10 次——这是下落

点击绿旗试试,按空格你的角色应该能跳起来了。

第三步:让障碍物动起来

跑酷游戏需要障碍物从右往左移动,制造"奔跑"的感觉。

选中障碍物角色,添加代码:

当绿旗被点击
重复无限次
  将 x 设为 (250)
  显示
  重复直到 <(x 坐标) < (-250)>
    将 x 增加 (-8)
  隐藏
  等待 (在 1 到 3 之间取随机数) 秒

这段代码做了这些事:

  • 障碍物从屏幕右边出发
  • 每次向左移动 8 步
  • 移出屏幕后消失
  • 随机等 1-3 秒再出现下一个

注意:重复直到 的条件是 x 坐标小于 -250,意思是障碍物移出左边屏幕。

第四步:碰撞检测——游戏结束

如果玩家撞到障碍物,游戏应该结束。

在玩家角色上添加:

当绿旗被点击
重复无限次
  如果 <碰到 [障碍物] ?> 那么
    说出 [Game Over!] 持续 (2) 秒
    停止 [全部]

这段代码不断检查玩家是否碰到了障碍物。碰到就显示"Game Over"并停止所有脚本。

第五步:添加得分系统

没有分数的游戏没有灵魂。我们来加一个计分功能。

创建变量

  1. 点击"变量"分类
  2. 点击"建立一个变量"
  3. 名字输入"分数",选择"适用于所有角色"

在障碍物角色上加分

修改障碍物的代码,加上计分逻辑:

当绿旗被点击
将 [分数] 设为 (0)
重复无限次
  将 x 设为 (250)
  显示
  重复直到 <(x 坐标) < (-250)>
    将 x 增加 (-8)
    如果 <碰到 [玩家] ?> 那么
      说出 [Game Over!] 持续 (2) 秒
      停止 [全部]
  将 [分数] 增加 (1)
  隐藏
  等待 (在 1 到 3 之间取随机数) 秒

每成功躲过一个障碍物(障碍物移出屏幕),分数加 1。

第六步:增加难度——越来越快

游戏一直一个速度太无聊了。我们可以让速度随着分数增加而变快。

修改障碍物的移动速度:

把原来的 -8 改成一个计算式:

将 x 增加 ((-8) - ((分数) / (5)))

这意味着分数越高,障碍物移动越快。当分数为 10 时速度变成 -10,分数为 20 时变成 -12。

第七步:美化你的游戏

添加背景

点击右下角"选择一个背景",搜索"City"或"Blue Sky"选一个好看的背景。

添加音效

在跳跃代码里加上:

当按下 [空格] 键
播放声音 [Pop] 等待播完
(然后是跳跃的代码)

在碰撞时加上:

播放声音 [Boing] 等待播完

添加地面

画一条线作为地面,放在 y = -120 的位置,这样看起来更有跑酷的感觉。

完整代码回顾

整个游戏的逻辑其实就是三个模块:

  1. 玩家控制:跳跃(空格键触发)
  2. 障碍物系统:自动生成、移动、回收
  3. 游戏规则:碰撞检测、计分、难度递增

进阶挑战

做完基础版之后,试试这些升级:

  • 添加金币:在空中放金币,跳起来收集可以加分
  • 双跳功能:允许玩家在空中再跳一次
  • 多种障碍物:高的矮的交替出现
  • 最高分记录:用一个列表保存历史最高分

学到了什么

做这个游戏的过程中,你其实已经接触了编程的核心概念:

概念 在游戏中的体现
变量 分数
循环 障碍物不断出现
条件判断 碰撞检测
事件 按空格触发跳跃
坐标系统 角色位置

这些概念在 Python、JavaScript 等真正的编程语言里是一样的。等你对 Scratch 熟练了,学其他语言会轻松很多。


做完之后记得点"分享"把你的游戏发出去。你能做出这个游戏,就已经比大多数人厉害了。编程没什么难的,难的是开始的第一步——你已经迈出了。

相关推荐