
先想清楚:你要做的不是“教程”,而是一个能玩的小作品
很多人搜Scratch小游戏教程,真正卡住的不是某个积木不会拖,而是不知道从哪一步开始、做完怎么算完成。这篇教程不复述积木名称,而是带你用一条完整主线做出一款“收集星星躲开飞弹”的小游戏:有开始界面、有得分、有失败判定、有重新开始,最后能直接分享给同学玩。全程只需要浏览器打开Scratch编辑页,按顺序做即可。
第一步:搭好三个核心角色和两个变量
新建项目后,先删掉默认小猫,或保留它作为玩家角色。你需要三个角色:玩家(用键盘左右移动)、星星(不断掉落,碰到加分)、飞弹(不断掉落,碰到扣命或结束)。再建两个变量:得分和生命,前者所有角色可用,后者只给玩家用。
- 玩家造型建议选一个横向移动的小动物或飞船,缩小到合适大小。
- 星星和飞弹都用简单圆形或现成素材,注意颜色区分明显。
- 变量显示在舞台上,方便测试时观察数值变化。
第二步:让玩家动起来,并限制在舞台内
给玩家写移动脚本:按下左右方向键时改变x坐标,每次移动6到10步。关键是加边界限制,否则角色会跑出舞台。用“如果x坐标大于220就设为220”这类判断包住移动逻辑,左右各一条。这样即使一直按键,玩家也只在可视范围内活动。
为什么不用“将x坐标增加”直接写死
直接增加坐标在边界处会“粘住”或抖动,先判断再赋值更稳。当前版本的Scratch对坐标判断没有延迟问题,这种写法在低配电脑上也很流畅。
第三步:用克隆体做出“不断掉落”的星星和飞弹
不要为每颗星星新建角色,用克隆更省资源。以星星为例:当绿旗被点击,先隐藏本体,然后重复执行“等待0.8秒、克隆自己”。克隆体启动后,移到舞台顶部随机x位置,显示出来,重复执行“y坐标减少5”,直到y坐标小于负170就删除此克隆。碰到玩家时,得分加1,播放一个短音效,然后删除克隆。
飞弹逻辑相同,但速度更快、间隔更短,碰到玩家时生命减1并删除克隆。注意给飞弹加一个“只在游戏进行中才克隆”的条件,否则游戏结束后还会继续生成。
第四步:加上开始、结束和重新开始
用一个单独的“开始按钮”角色,点击后广播开始游戏。收到广播后,玩家回到中央,得分归零,生命设为3,星星和飞弹开始克隆。玩家生命降到0时,广播游戏结束,所有角色停止克隆并隐藏,舞台显示“得分:X”的结束画面。结束画面上放一个“再玩一次”按钮,点击后重新广播开始游戏,整个流程就能循环。
常见坑:克隆体没有停
如果结束后还在掉星星,通常是克隆脚本里没有判断游戏状态。可以在克隆体循环中加入“如果生命小于1就删除此克隆”,或者在收到游戏结束广播时让本体停止克隆并删除全部克隆体。
第五步:测试、调难度和分享
做完先自己玩三局,重点看三件事:难度是否随得分上升(可以每得10分让飞弹速度加1)、重新开始后变量是否重置、手机上打开是否还能操作。Scratch项目在手机浏览器里键盘操作不可用,若想分享给手机玩家,可以把左右移动改成“碰到鼠标指针就跟随”的简化操作。
确认没问题后,点“分享”发布到Scratch社区,项目页会自动生成链接。把链接发给同学,对方无需登录也能玩。若只想在课堂内使用,也可以导出项目文件再分发。
常见问题
积木拖不进去或脚本变灰?
先确认当前选中的是角色而不是舞台,舞台只能放背景相关积木。脚本变灰通常是角色被隐藏,点一下角色列表即可恢复。
得分不增加?
检查碰撞判断是否写在克隆体脚本里,而不是本体脚本里。本体是隐藏的,不会真正碰到玩家。
想加背景音乐和音效?
在声音标签里上传或录制短音效,控制在1秒以内,避免多个克隆同时播放造成杂音。得分音效建议只让一个角色播放。
做完这个案例,你已经掌握角色、变量、克隆、碰撞和广播这五个最常用的积木组合。下一步可以尝试加入倒计时、连击奖励或双人模式,把同一个框架改成自己的玩法。