简介Scratch 3.0指令大全是一份面向少儿编程学习者、家长与教师的系统参考资料。Scratch由美国麻省理工学院专为8至16岁孩子开发采用类似搭积木的方式编写程序极大降低了编程门槛已广泛用于全球中小学课堂文档覆盖运动、外观、声音、事件、控制、侦测、运算、变量等九大类共123个指令。每个指令均按模块逐项讲解其名称、功能用途和参数设置方法并对坐标移动、方向旋转、边缘反弹、角色外观切换等高频指令补充示例与注意事项帮助读者快速理解图形化编程逻辑、减少上手试错成本。资源仅含1个PDF文件约1015KB便携易用支持离线查阅与打印已有677人学习下载。内容还介绍了官方扩展及常见第三方扩展既可作为课堂辅助手册也适合自学入门与日常编程速查是一份实用的编程指令词典。1. 为什么你需要一份能照着用的 Scratch 3.0 指令清单很多人打开 Scratch 3.0 的第一反应是拖积木挺好玩但真要做点像样的项目就卡在“不知道用哪块积木”。网上碎片化的教程只讲某个效果查完一圈还是拼不出完整逻辑。我做过不少小学生编程课和快速原型发现真正的问题不是创意不够而是对指令面板里的积木缺乏系统认识——不知道运动类里哪个能平滑转向不知道侦测类里坐标值与角色定位的关系更不知道克隆体的指令约束。这篇文章就是一份实战导向的指令整理按功能块拆解告诉你每个常用积木放在什么场景、参数怎么填、组合时有哪些坑。新手可以照着搭做过一两个项目的熟手也能从“会用”变成“会用对”。2. 按功能块拆解指令运动、外观、声音与事件2.1 运动类指令的必用与易混项运动类是所有项目里出镜率最高的面板但也是最容易积木用错的地方。先看最基础的三块移动 10 步、右转 15 度、左转 15 度。移动是沿角色当前朝向走固定距离单位是步60 步约等于角色自身宽度右转和左转控制的是朝向角不是屏幕坐标方向。很多人以为点右转角色就往屏幕右边走实际是角色朝向顺时针偏转之后移动才沿着新朝向走。当绿旗被点击 面向 90 方向 移动 50 步这里面向 90 方向是常见的初始化积木90 指屏幕正右0 指正上-90 指正左180 指正下。参数用数字直接填也可以拖一个运算积木进去动态计算。我习惯在角色换造型或关卡切换后先加一条面向积木否则角色可能保留上次的斜向角度第一帧移动就歪了。运动类里还有两个容易混的移到 x: y:和滑行到 x: y:。前者瞬移后者有动画过程。滑行不是持续加速运动而是匀速插值想做出缓动效果得靠循环逐帧更新坐标。另外碰到边缘就反弹这个积木只改变方向不改速度角色在边缘来回弹时如果配合右转轨迹会显得机械。坐标的理解是最关键的。舞台宽约 480、高约 360中心为 (0, 0)。将x坐标设为和将y坐标设为是分别改坐标轴将x坐标增加适合做左右移动。我做平台跳跃时喜欢用将y坐标增加配合重力变量而不是直接设固定值因为重力的累计变化更自然。运动类里移到随机位置和在 1 秒内滑行到随机位置适合做道具刷新但注意随机位置可能跑到舞台边缘或压住其他角色。需要限制范围时用运算里的在 1 和 10 之间取随机数自己拼坐标。2.2 外观与声音让角色“会说话”的积木组合外观类解决的是“角色怎么切换造型、怎么说话、怎么显示/隐藏”。最常用的是说 你好 2 秒它会在角色上方显示气泡时间到自动消失。另一个是思考 嗯… 2 秒气泡带省略号适合内心独白。两者参数里的秒数填 0 会一直显示直到下一条消息覆盖。造型切换是动画的核心。下一个造型按造型列表顺序切换换成 造型1 造型则指定名字。我一般用重复执行配合下一个造型做走路动画当绿旗被点击 重复执行 下一个造型 等待 0.2 秒这里的等待 0.2 秒是关键不加等待的话角色每秒切换几十次看起来像闪烁。等待时间决定动画帧率0.1 到 0.3 之间比较自然。如果角色只有两个造型这个循环会来回切如果有 4 个造型它会循环到底再从第一个开始。显示和隐藏容易踩坑隐藏后角色仍会响应事件和侦测只是看不见。隐藏状态下的移到 x: y:依然有效。所以做敌人消失时要先隐藏再在 1 秒后显示但需要在隐藏前记录位置否则显示时可能回到原点。声音类指令相对简单播放声音 喵会等声音播完再执行下一条启动声音 喵则是边播边跑后续积木适合做背景音效。将音量设为 50%是全局音量不影响单个声音的响度设置。我见过有人想让两个音效重叠结果用了播放声音导致后一条把前一条打断——换启动声音就解决了。舞台背景也是外观的一部分。换成 背景1 背景和下一个背景用于切换场景。做游戏关卡时我习惯用背景名称做状态判断比如检测当前背景是不是“胜利”从而决定是否停止敌人刷新。2.3 事件类指令程序启动的三种常见方式事件面板是整个程序的“开关”。最常见的是当绿旗被点击作为项目总入口。它适合放初始化积木比如角色位置、变量清零、背景切换。但注意一个项目里可以放多个绿旗积木它们会同时执行且互不影响因此不要把需要先后逻辑的积木分开放。第二个常用的是当按下 空格 键。它响应的是“按下”这一瞬间不是“按住”。如果按住不放Scratch 不会重复触发。想要按住连续移动必须在循环里判断按键 空格 是否按下侦测类而不是依赖这个事件。第三个是当角色被点击常用于按钮角色。你可以给按钮换一个造型表示被按下也可以在事件里广播消息给其它角色。广播是事件面板里最灵活的积木广播 消息1会通知所有角色执行对应的当接收到 消息1。注意广播不等待接收方的积木执行完如果想串行要用广播并等待。我的一般原则绿旗事件只做一次初始化消息广播用于阶段切换键盘事件用于单次操作。这样排布项目后期加功能时不会互相踩线。3. 控制、侦测与运算真正决定项目逻辑的指令3.1 控制类循环、条件与克隆的实用参数控制面板里有重复执行、重复执行 10 次、如果 那么 否则、等待 直到、克隆自己等。循环是最常用的。重复执行是无条件死循环必须配合退出条件或停止脚本否则会导致角色一直动。我遇到过有人把重复执行放在绿旗事件下又在里面等 1 秒结果想中途停止整个程序只能按红色停止按钮。重复执行 10 次适合固定次数比如投篮抛物线要循环 20 次模拟或动画播放固定帧数。重复执行直到 条件则适合做“等待某个变量满足”的循环比如重复执行直到 生命值 1 移动 5 步 等待 0.1 秒条件里的生命值 1是运算类积木。注意重复执行直到是先判断再执行如果条件一开始就成立循环体一次都不跑。这和“先执行再判断”的需求要区分。如果 那么 否则是分支核心。Scratch 里没有else if要嵌套写。多层条件嵌套会让积木变得高高的一坨可读性差。我通常用或者、且运算把多个条件合并或者用“如果 那么”加上“停止该脚本”提前退出。克隆是控制面板里最强大的功能但也是新手最容易翻车的地方。克隆自己会生成一个与角色同样造型、同样位置、同样变量的副本。克隆体有自己的脚本但克隆体不能被再次克隆实际上克隆体可以再克隆但总克隆数限制在 300 个左右。我做的粒子系统里为避免超出限制会在克隆体脚本里加一个生命周期计数器。克隆体的一个特点是它不继承当绿旗被点击事件只继承角色身上的普通脚本。所以想让克隆体动起来要给它单独写当作为克隆体启动时的积木。我常用这个结构当绿旗被点击 重复执行 10 次 克隆自己 等待 0.1 秒 当作为克隆体启动时 重复执行 移动 5 步第一个循环负责生成第二个循环负责克隆体的行为。注意克隆体启动脚本如果包含当绿旗被点击克隆体不会响应。这是指令选择上的经典坑。3.2 侦测与运算把“如果…那么…”玩出花侦测面板的核心是“布尔值”——真或假。碰到 鼠标指针、按下 空格 键、颜色 碰到 颜色都返回真假直接可以放进如果 那么的条件槽里。颜色碰撞侦测很适合做障碍物游戏但也容易误判两个颜色只要 RGB 值接近就认为碰到。要精确碰撞最好用角色碰角色而不是颜色碰颜色。询问 你的名字 并等待会让舞台下方出现输入框用户输入的内容存在回答里。注意它不是阻塞式实际上它会等待用户输入并点击勾号然后继续。这个积木适合做文本交互但在移动端体验不好输入框可能被遮挡。运算面板里最常用的是比较运算和逻辑运算。大于、小于、等于直接连接变量。注意等于比较的是“值”而不是“类型”所以x 1和x 1.0会视为相等。字符串比较区分大小写吗Scratch 的等于比较字符串时不区分大小写这点和 Python 不同。做用户名验证时别依赖它区分大小写。连接 你好 世界是字符串拼接做动态提示时常用说 连接 当前得分是 得分这个积木只能拼两个参数想拼三个就嵌套连接 连接 分数 得分 分。四层嵌套会比较难看我通常用变量先组装再用一句话显示。运算面板里的在 1 和 10 之间取随机数是整数随机上限下限都包括。如果想随机小数可以用除以配合随机数。比如随机 0.5 到 2.5 之间的数写成在 1 和 5 之间取随机数 / 2。3.3 变量与自制积木从零搭一个计数器变量面板是“数据”的中枢。点击“建立一个变量”后可以勾选是否在舞台上显示。我建议把调试变量设为可见正式项目里的得分、生命值也显示出来玩家能实时看到反馈。变量分为全局变量和仅适用于当前角色全局变量在所有角色中共享角色变量只在对应角色里生效。计数器最基础的实现是当绿旗被点击 将 得分 设为 0 重复执行 如果 碰到 金币角色 那么 将 得分 增加 1 等待 0.5 秒 end这里的等待 0.5 秒很重要否则碰撞检测每帧触发得分会瞬间暴涨。更稳健的做法是加一个标志变量是否已拾取碰到后设为1直到角色离开半径再复位。自制积木是 Scratch 3.0 里最被低估的功能。它相当于自定义函数可以在“自制积木”面板里“建立新的积木”输入名称和参数。比如做一个跳跃物理定义 跳跃 高度 重复执行 10 次 将y坐标增加 5 等待 0.01 秒 重复执行 10 次 将y坐标增加 -5 等待 0.01 秒调用时直接放跳跃 5050 就传给高度参数。自制积木的好处是修改逻辑只改定义处调用处不用动而且运行速度比绿旗事件触发快因为它是同步调用。我一般把项目里重复出现的逻辑全部封装成自制积木比如“重力更新”、“碰撞检测”、“生成道具”。封装后项目脚本总数明显下降排查 bug 时也只需要看定义处。4. 指令大全之外的隐性指令扩展与画笔模块4.1 画笔模块用指令画几何图形的最小参数画笔模块在 Scratch 3.0 默认不显示需要点击左下角的“添加扩展”选择“画笔”。它提供全部擦除、图章、落笔、抬笔、将画笔颜色设为、将画笔粗细设为等积木。画笔的核心是“落笔后移动会产生轨迹”所以画图形必须动态调用移动和转向。画一个正方形的最小积木组合当绿旗被点击 全部擦除 抬笔 移到 x:0 y:0 落笔 重复执行 4 次 移动 100 步 右转 90 度这里抬笔到起点是为了不留下移动线落笔后才开始画。循环 4 次每次 100 步、右转 90 度正好闭合。参数调整边长改 100角度必须保持 90若画正三角形角度是 120重复 3 次。画圆形更简单重复 360 次每次移动 1 步右转 1 度。但这样速度慢我一般用重复 36 次、每次移动 10 步右转 10 度看起来足够圆。注意移动步数越多画出的圆周长越大圆心位置需要预判。图章积木会在当前位置复制一个角色造型不产生移动轨迹适合做脚印、装饰物。将画笔颜色增加不能直接增加需要用运算拼 RGB 值或者用将画笔颜色设为配合拾色器手动选。画笔模块的性能问题连续画大量图形会积压轨迹角色移动卡顿。我通常会在画完一帧后全部擦除重绘而不是让画笔越叠越多。4.2 音乐与扩展让指令覆盖传感器与翻译音乐扩展提供击打 1 鼓、演奏音符 60 0.5 拍等积木。它和声音面板的区别在于可以编曲音符 60 对应中音 C每次增加 2 是半音。我尝试过用循环和变量生成旋律比如用将 音高 设为 60然后每次加 2弹出上行音阶当绿旗被点击 将 音高 设为 60 重复执行 8 次 演奏音符 音高 0.5 拍 将 音高 增加 2参数里的“拍”是时长0.5 拍大约是半秒速度由节拍器决定但实际操作中感觉 0.5 拍约等于 0.4 秒。想加快就把数值调小。其它扩展比如“翻译”可以把台词逐句翻译成指定语言积木是翻译 你好 到 英语返回文本。这个扩展依赖网络服务离线环境下会报错所以比赛场景慎用。视频侦测扩展可以识别运动方向但需要摄像头权限课堂上经常因权限问题失败我一般不用。扩展的本质是给指令面板增加新积木使用方式和内置积木一样都遵循事件-控制-运算的组合逻辑。选扩展时先确认运行环境有没有网络、有没有摄像头再决定。5. 指令使用避坑6 个最常翻车的积木组合先说一个普遍现象很多项目看起来逻辑没问题但运行结果和想象完全不一样。这通常不是因为不会用某个积木而是把几个积木组合在一起时踩了暗坑。我挑 6 个高频问题每条按“现象→原因→解决”写清楚。现象 1绿旗点击后程序只跑一遍就停住角色停在原地。原因把重复执行放在等待之后且循环体里没有让程序持续运行的条件。更常见的是忘记给循环体加等待导致执行速度快到看起来像没跑。解决检查循环内是否缺少等待 0.1 秒如果用了移动 10 步应该放在重复执行内部。现象 2克隆体生成后完全不动或者克隆体消失。原因克隆体没有执行当作为克隆体启动时而是将初始脚本放在当绿旗被点击下。克隆体不会触发绿旗事件所以它没有任何行为。解决把克隆体的动作指令放进“当作为克隆体启动时”里并且记得给克隆体加一个等待否则它可能在生成瞬间就执行完隐藏脚本。现象 3角色碰到障碍物时碰撞检测一直触发分数暴涨。原因碰到 角色的布尔值在角色接触的每一帧都为真如果如果分支里直接加分就会每秒加几十次。解决加一个冷却变量比如可拾取初始为 1碰到后设为 0等待 0.5 秒再恢复或者用等待 0.3 秒临时跳过。现象 4角色在屏幕边缘移动时坐标变得不可控角色一半跑出界。原因用的是移动 10 步没有约束边界。移动不会自动限制坐标它只改变位置超过 240 或 -240 的 x 值就会让角色超出舞台。解决在移动后加判断如果 x 坐标 240则将 x 坐标设为 240。现象 5声音播放后整个程序卡住几秒。原因用了播放声音 然后等待它会等声音播完才执行下一条指令。如果声音时长 3 秒循环就卡 3 秒。解决确认是否需要等待。背景音乐用启动声音重要提示音才用播放声音。现象 6多个角色同时用当绿旗被点击时有的角色会晚启动。原因Scratch 的绿旗事件执行顺序是从上到下但不保证在不同角色之间严格并行尤其依赖网络或扩展时。解决用广播做统一启动所有角色用当接收到 开始舞台用一个绿旗事件广播“开始”。这样所有角色几乎同时启动。6. 从“查指令”到“写指令”一个马上能上手的练手项目最后我用一个简单的“数字猜谜”项目把前面所有积木组合串起来。这个项目用到事件、变量、侦测、运算、外观和控制正好覆盖常见指令。完成之后你可以随意加造型和音效。新建变量目标数字和猜的次数。绿旗事件里初始化然后用侦测类询问用户输入再判断大小。当绿旗被点击 将 目标数字 设为 在 1 和 100 之间取随机数 将 猜的次数 设为 0 重复执行 询问 请猜一个 1 到 100 之间的数字 并等待 将 猜的次数 增加 1 如果 回答 目标数字 那么 说 连接 答对了你猜了 猜的次数 次 2 秒 停止全部脚本 否则 如果 回答 目标数字 那么 说 太小了 1 秒 否则 说 太大了 1 秒 end end这里重复执行没有退出条件完全靠停止全部脚本结束。注意回答是侦测面板里的变量直接拖进来即可不需要额外定义。连接只能拼两项所以提示文案我分了两段。我习惯在项目完成后加一个“重置按钮”一个角色提示“再来一局”点击后执行与绿旗相同的初始化积木。这时应该把初始化做成自制积木定义 初始化游戏 将 目标数字 设为 在 1 和 100 之间取随机数 将 猜的次数 设为 0然后绿旗事件和按钮点击都调用初始化游戏。这是自制积木最实用的场景——避免重复代码也让逻辑更清晰。验证项目是否正常我一般按三条路径走第一输入 0 和 101 看边界能否正确提示第二连续输入相同数字看猜的次数是否正确累加第三故意输错再答对确认停止全部脚本真的终止了循环。通过这个项目你会发现Scratch 3.0 指令其实没有“大全”也没有“完全对照表”真正值钱的是对每个积木行为边界的理解。比如回答是字符串还是数字、克隆体不响应绿旗、停止全部脚本会终止所有角色的脚本。这些经验不是看手册能得到的需要自己跑一次、踩一次坑。这就是我为什么一直建议与其抄别人的成品不如把这份指令清单当索引自己拼一个最小项目。有不懂的地方再翻面板效果比什么都快。希望帮到你。本文还有配套的精品资源点击获取