Scratch外观模块说话指令详解:从基础对话到多角色时间轴编排
1. 内容整体设计与思路拆解1.1 核心需求解析一个“说话”积木到底能做什么如果你刚接触 Scratch第一次拖动外观模块里的“说”积木大概率会这么操作拖一个“说 你好 2 秒”到角色区点一下绿旗看到小猫头顶冒出一句“你好”2秒后消失。然后你觉得就这外观模块的“说话”指令不就是个冒气泡的静态文本吗还能玩出什么花样如果有这种想法那说明你还没把“说话”指令放进完整的项目逻辑里去思考。在 Scratch 的积木系统里“说”和“思考”这组指令属于外观模块位置在积木面板的第二组图标是一个淡紫色的对话气泡。它的作用远不止“让角色开口讲话”这么简单。它其实是信息呈现机制的重要组成部分承担着四个层面的任务第一层直接叙事。最简单的使用场景角色说一句台词推动剧情走一步。无论是童话故事、历史讲解还是科普演示都需要这种“角色开口”的方式把内容传递给观众。第二层状态反馈。游戏里角色受到伤害、血量减少、获得道具这些状态变化除了用变量数字表示更直观的方式就是让角色头顶冒出一句“-10 HP”或者“获得金币x3”。这种反馈比任何 UI 弹窗都来得轻量而且天然带有人情味像角色在跟你直接对话。第三层数值可视化。变量是一个抽象的数字但加上说话积木的包装就能把幕后逻辑“翻译”成人话。比如猜数字游戏里电脑提示“太大了”“太小了”用说话积木做反馈比用列表或变量展示要符合直觉得多。第四层教学模拟。数学题讲解、物理运动分析、单词跟读场景里角色用说话积木把思考过程说出来相当于把教科书里的“解析步骤”变成了“聊天记录”。理解了这四层你就能明白为什么标题“【Scratch-外观模块】说话指令”看起来只是一个简单功能点却能撑起一个完整的教学主题。它不是让你背积木用法而是让你理解一种“角色怎么跟用户沟通”的设计思路。1.2 选型逻辑为什么需要两个不同的“说”积木打开外观模块你会发现关于说话功能的积木其实有四个积木名称积木形态显示效果自动消失说 你好 2 秒有参数“秒数”对话气泡文本指定时间后消失说 你好无时间参数对话气泡文本不会消失直到被替换或角色隐藏思考 嗯... 2 秒有参数“秒数”带省略号的思考气泡文本指定时间后消失思考 嗯...无时间参数带省略号的思考气泡文本不会消失直到被替换或角色隐藏Scratch 设计这两种形态其实是在模拟“说话”和“内心活动”的区别。“说”对应的是真实对话气泡尾部是实心的尖角指向说话者嘴巴的方向“思考”对应的是心理活动气泡尾部是一串小圆圈视觉上更松散、圆润整体造型也更像漫画里“心里想”的泡。所以选“说”还是选“思考”首先要考虑的是你想要哪种叙事语气。如果角色的台词是要“讲给另一个角色或者玩家听”用“说”如果是“自己嘀嘀咕咕、内心纠结、解题时默默推理”用“思考”。很多新手忽略这个区别把内心独白也用“说”来呈现虽然功能上不报错但视觉叙事上丢掉了一层信息观众区分不了哪些话是角色说出口的哪些话是角色心里想的。另一个关键点是“有无时间参数”的选择。带秒数的版本气泡会在指定时间后自动消失这适合“一闪而过”的台词不带秒数的版本气泡会一直挂在角色头顶直到切换下一条“说/思考”指令或者角色被隐藏。这个特性其实很有用比如你要做一个“永久标语牌”类的角色提示或者要做一个“按住某个键才显示、松开就消失”的交互就可以用不带秒数的版本加“当绿旗被点击时说 提示语”这种结构。2. 核心细节解析与实操要点2.1 说话指令的时间控制原理“说 你好 2 秒”这个积木里的“2秒”到底是怎么计时的理解这一点就是要理解 Scratch 积木执行的基本逻辑脚本会按照积木从上到下的顺序逐条执行但“说 你好 2 秒”本身并不会阻塞后续积木的启动。这句话的准确意思是当执行到“说 你好 2 秒”时角色会立刻在气泡里显示文本然后积木完成自己的执行继续运行下面的积木与此同时Scratch 会在后台启动一个 2 秒的计时器2 秒后自动移除气泡。所以如果你在它下面紧接着放一个“移动 10 步”角色会立刻移动而不是等 2 秒气泡消失后再移动。这个特性非常重要因为它决定了你写对话脚本的方式。如果你想让气泡保留至少 2 秒同时让角色停顿 2 秒再进入下一句那你就需要搭配“等待 2 秒”积木或者把后续的说话积木放在“等待 2 秒”的后面。很多新手在这一步翻车写了好几段台词结果发现所有台词一起挤在头顶因为几段“说 你好 2 秒”几乎同时被执行了气泡被最后一条覆盖。实际项目中我一般把说话积木的秒数设定与文本长度做关联。一个粗略的经验参考是每字约 0.20.3 秒短的感叹句可以 1 秒正常句 23 秒长段陈述 45 秒。但这里有个反直觉的坑如果秒数设得太长观众会等得不耐烦设得太短字还没读完就消失了。更稳的做法是不依赖秒数自动消失而是在需要精确节奏的对话场景里用“说 台词”加“等待 秒”来手动控制显示时长。这样文案调整时改一个参数就行不用同时维护两个位置。2.2 说话与变量拼接让气泡“活”起来说话积木的输入框不只是能填固定文本它还能拼接变量、运算结果和另一个角色的属性。这才是“说话指令”真正进阶的起点。在积木面板里找到“运算符”模块下的“连接 苹果 和 香蕉”积木这是一个把两段文本拼成一个字符串的积木支持嵌套使用。你想要角色说出“你还有 3 条命”就可以这么搭一个“说”积木文本参数是一个“连接”积木左边填“你还有”右边填变量“生命值”。当生命值变化时再次触发说话积木气泡里的数字也跟着变。这里要特别提醒一个细节通过修改变量再触发说话是一次性的。也就是说变量变了已经显示出来的气泡文本并不会自动更新。Scratch 不具备“数据绑定”或“响应式更新”能力你需要在一个循环里反复执行“说话”积木才能实现“实时显示变量值”的效果。比如这样当绿旗被点击 重复执行 说 连接 你的分数是 和 分数这个写法虽然简陋但能实现分数变化立刻反映在气泡里。如果你试过就会发现因为重复执行频率极高气泡会一直刷新视觉上就好像是实时更新。不过需要注意这种做法会让气泡的“生成动画”反复触发在某些设备上会带来轻微的闪烁感。要平滑一点可以把“说”积木放进“如果”条件里只在变量真正变化时才执行更新。拼接能力还可以从变量扩展出去。比如“说 连接 我是 和 角色名”可以让任意角色直接说出自己的名字想显示随机结果可以拼接“随机取 1 到 6”就能做出“骰子报数”的效果想显示计时器的值可以拼接“计时器”就能做“倒计时播报”。2.3 剧本文案的“分行”与气泡宽度控制用过“说”积木的都会发现一个问题气泡里文本一长气泡就横向撑得特别宽会超出舞台可视区域看起来很不美观甚至会把旁边的角色盖住。Scratch 的说话气泡本身不支持强制换行它只会按照预设的宽度自动折行但这个宽度没有一个明确的参数让你配置。实际观察下来气泡的最大宽度大约是舞台宽度的三分之一到二分之一具体取决于文本长度和屏幕分辨率。超过这个宽度就自动折成第二行气泡高度会随之增加。所以控制气泡宽度的核心策略是控制文本长度主动把一段长台词拆成多条“说”指令。与其让角色一口气说一段 50 字的长篇大论不如拆成三句 5 秒的短句中间插入短暂停顿。这不仅减轻气泡的视觉压力也更符合戏剧对话的节奏感。如果一个文本里需要多行展示怎么办有经验的用户会用一个不是技巧的技巧把需要换行的位置拆成两条“说”指令中间用“等待 0.1 秒”连接。因为 0.1 秒间隔极短观众视觉上会感觉是同一句话分两段显示但实际气泡已经被替换过了。这种做法的效果是把长句从“上下两行”变成了“先后两句”读起来更轻松。另外注意角色名字和说话内容尽量不要放在同一个长文本块里否则会出现气泡里一大串文字位置又偏移的情况。角色名用“说 连接我角色名说”内容再起一个“说”指令会更清晰。3. 实操过程与核心环节实现3.1 简单对话项目让你 2 分钟上手说话指令我带你从零搭一个最简单的对话案例这个案例也是我教初学者时第一节课用的。项目叫“森林问答”一个角色比如小猫向使用者提一个问题使用者用键盘回答小猫根据回答给出反馈。第一步新建一个 Scratch 项目默认的小猫保留即可。在“事件”模块拖一个“当绿旗被点击”积木。第二步在“外观”模块里拖入“说 你好呀我是小猫卡卡。 2 秒”。点绿旗运行小猫头顶出现这句话2 秒后消失。这是第一个完整流程。第三步继续拖入“说 今天我们来玩一个猜数字游戏。 3 秒”。这里要注意第二句话要在第一条“说”下面积木的下面这样在时间线上是有先后顺序的。第一条出现 2 秒后消失第二条自动接上。第四步在“控制”模块里拖“等待 1 秒”这一步是给玩家一点反应时间让第二句的结束和下一句的开始之间有一个自然的空隙。第五步继续添加几条“说话”指令比如“请在心里想一个 1 到 10 的数字”“然后我会来猜猜看”“准备好了吗我要开始猜了”。第六步添加“询问 你心里想的数字是几 并等待”这个积木在“侦测”模块里它会在舞台底部弹出一个输入框。这里的“询问”虽然不是外观模块的说话指令但它和“说话”配合是教学项目中最高频的组合。第七步把“回答”判断结果用“说”反馈出来。拖一个“如果”积木判断“回答 5”然后在“如果”里放一个“说 我猜对了是不是 5 2 秒”。如果没猜对就用“否则”分支说“那我再猜猜”。这个流程虽然基础但已经把“说”指令的所有基础用法都覆盖了连续叙事、等待节奏、变量拼接、条件判断反馈。一个新手完整操作下来对说话指令的“脚本顺序影响气泡轮流出现”这个核心概念会有一个直观的认知。3.2 分支对话中的气泡切换配合判断实现智能回应单一角色说话提升到“多分支对话”需要让气泡内容根据玩家的选择而变化。这种结构在文字冒险游戏、交互式教学、模拟游戏中非常常见。核心思路是把“说”指令放进“如果……那么……否则……”的积木里用“侦测”模块的交互输入键盘按键、询问回答、碰到鼠标等作为分支条件。我搭过一个小项目“海滩向导”角色会根据玩家回答的天气情况给出不同的建议。当绿旗被点击 说 欢迎来到海滩向导 2 秒 询问 今天天气怎么样请回答“晴”或“雨” 并等待 如果 回答 晴 那么 说 太棒了适合去游泳和堆沙堡 3 秒 否则 如果 回答 雨 那么 说 有点可惜但我们可以去参观海洋博物馆。 3 秒 否则 说 我没听懂请重新回答。 2 秒这个分支结构里“说”指令的作用就不再是简单的显示一句话而是根据逻辑输出对应文本。更重要的是Scratch 不是模板引擎所以判断“回答”文本时要确保输入内容和判断值完全一致。如果玩家输入“晴”但积木里写的是“sunny”那就会走到“否则”分支。中文环境下我用“回答 晴”这种方式最直接但要注意玩家输入时可能带空格或大小写稳妥做法是用“包含”运算符来判断而不是精确相等如果 (回答) 包含 [晴] 那么这里“包含”判断来自“运算”模块的“包含”积木它可以避免因为输入了“今天晴天”这类冗余文本而误判。实际使用中我建议多预留几个“包含”判断分支比如“晴”“天晴”“出太阳”都指向同一个回复。分支对话还可以和“广播”配合实现多个角色之间的接力对话。角色 A 说一句后广播“B 上场”角色 B 收到广播后开始说自己那段台词。这种模式的优点是每个角色的说话逻辑自成一体不会因为某个角色的脚本阻塞另一个角色的显示尤其是角色多的时候线性排列会被延绵不断的等待耗光耐心。3.3 打字机效果实现让你的台词逐字出现说话气泡默认效果是整句同时出现这个效果用于简短台词没有问题但遇到长台词观众阅读时容易出戏。如果你想让台词像聊天软件一样逐字蹦出来就需要自己写一个“逐字显示”逻辑。实现方法不复杂核心依赖三个积木字符串变量、重复执行、连接。思路是每帧取一个字符拼接进“当前显示文本”变量然后刷新说话积木。当绿旗被点击 说 你好 当接收到 [开始打字] 广播 将 [当前索引] 设为 1 将 [全文] 设为 你想显示的长台词内容 将 [输出文本] 设为 空字符串 重复执行 当前索引 小于或等于 (全文 的字符数) 次 将 输出文本 设为 连接 输出文本 和 (全文 的第 当前索引 个字符) 说 输出文本 将 当前索引 增加 1 等待 0.05 秒这个积木逻辑的实现里有两个容易踩坑的地方第一Scratch 没有直接的“取字符串第 N 个字符”积木需要靠“连接”和“字符数”配合。标准做法是先用“运算”模块的“字符串的第 个字符”积木这个积木在中文版里通常显示为“字母 的 第 个字符”它确实能取中文字符。实测中英文都正常不会把中文按字节拆开。第二“等待 0.05 秒”的间隔不宜太短或太长。太短0.01 秒时由于说话积木的刷新机制观众可能看不清每个字的出现过程效果跟整句一次性显示差不多太长0.2 秒以上时观众会等得不耐烦。我的建议值是 0.05 到 0.1 秒配合台词长度可以选择性调整。如果台词较长建议 0.06 秒左右既不拖沓又有逐字感。这套逻辑还可以扩展出“打字音效”。在每显示一个字符的同时调用“声音”模块播放一个极短的“滴答”音效就能模拟出打字机的声音效果。注意音效文件要短约 0.05 秒循环播放才能贴合逐字节奏。3.4 多角色对话的时序编排从“排队说话”到“事件驱动”当项目里有两个或更多角色参与对话时就会出现一个非常典型的问题如果所有角色都把说话积木放在同一个绿旗事件下并且简单直线排列那么这些台词会一个接一个地快速刷新最终只有最后那个角色的台词会留在屏幕上。因为每个角色的脚本是独立并行的控制模块里的“等待”只能阻塞自己角色的脚本不能阻塞其他角色。很多初学者在这里发现角色 A 说了一句“你好”角色 B 也说了一句“你好”但只看见 B 在说话。原因就是 A 的台词被 B 的台词“覆盖”了因为两者的“说”指令在极短时间内先后执行气泡只有一个后执行的把先执行的替换掉了。解决这个问题有三个方案我按项目复杂度从小到大排列。方案一串联式等待。把角色 A 的“说 你好 2 秒”后加一个“等待 2 秒”然后再给角色 B 发广播让 B 开始说话。这种方案的缺点是如果 A 的说话时长和等待时长不同步对白节奏就容易乱。方案二单脚本控制全部说话。新建一个角色当作“导演”它控制所有角色的台词脚本。导演收到绿旗后依次“说 A 的台词”然后“广播 A 的动画”再“说 B 的台词”。但这里有个问题导演角色的“说”积木只能在自己头顶冒气泡不能替别的角色显示台词。所以真正能用的做法是导演用广播来指挥各个角色依次执行自己的“说”。方案三用广播接力推荐。这是最符合 Scratch 并行理念的做法我给一个参考骨架// 角色 A 当绿旗被点击 说 你好我是小 A。 2 秒 广播 [轮到B] 当接收到 [轮到A] 说 你说得对我同意你 2 秒 广播 [轮到B] // 角色 B 当接收到 [轮到B] 说 你好我是小 B。见到你很高兴。 3 秒 广播 [轮到A]这个结构避免了“所有角色堵在起跑线”的问题每次只有一个角色收到广播并说话。关键点在于每个说话角色的末尾都广播下一个角色的名称像接力棒一样传递。实战里如果角色超过三个我会在广播里加一个“对话序号”变量区分第几轮该谁说话防止广播风暴导致台词错乱。3.5 视觉效果增强气泡颜色、角色位置和缩放配合外观模块的说话气泡本身没有直接的颜色修改积木所以气泡样式基本固定为白色底黑色字。但这不代表你不能在视觉上做增强。常用的手段是通过修改角色造型、位置和大小来控制观众注意力。一个小技巧是让角色在说话前做一个“向前移动”的动作。因为角色在舞台中央说话时观众注意力自然聚集在中央如果角色在边缘气泡可能伸到舞台边界外被截断。所以我在角色开始说话前常用“滑行 1 秒到 x: 0 y: 0”让角色走到舞台中心然后再开口。这个移动本身也暗示了“接下来有话要说”。如果是对话框式角色比如游戏里的向导可以把角色放到舞台底部气泡自然向上延伸视觉上更像常规游戏里的对话框布局。这里有个细节说话气泡会紧贴角色头部上方如果角色在舞台正下方靠得太近气泡可能超出舞台上边缘。实际布局时要把角色放在 x0、y-120 左右气泡才会完整出现在舞台内。另一种强化视觉的方法是配合“将角色大小增加”或“将角色大小设为”来控制角色说话时的“强调感”。角色说到重点词时临时放大 10% 再恢复观众会无意识地把“放大”和“重点内容”关联起来。注意不要幅度太大否则会显得突兀。声音方面“说”和“播放音效”还可以同步。如果角色台词配一个短促的提示音观众的等待感就没那么强。但这种“音效配音”要克制每个短句配一个 0.2 秒左右的“叮”音即可太多反而嘈杂。4. 常见问题与排查技巧实录4.1 气泡一闪而过、看不清内容怎么办这个问题的根源多半是没有理解“说 X 2 秒”和“等待 2 秒”之间的区别。如前面讲的说话积木说完后立即执行下一条不会自动暂停。所以如果你连续放了好几段台词前面的都被后面的覆盖了观众实际只看到最后一句。排查步骤我建议这样做检查脚本顺序在每句“说”后面加一个“等待 X 秒”X 与秒数一致或略大。检查角色是否被隐藏或删除某些操作会触发角色隐藏气泡随之消失。检查是否有人用“说”积木在循环里高频刷新比如侦测循环每秒执行几十次气泡刷新频率过高导致看似一闪一闪。最常见的解决模板就是这句经典组合说 你好 2 秒 等待 2 秒注意如果秒数是 1等待时间写 1.2 秒轻微多等一点让观众有消化时间。4.2 气泡不显示或显示空白遇到气泡不显示先排除最基础的原因角色本身是否被隐藏。Scratch 里如果角色被“隐藏”了说话气泡也不会显示哪怕脚本还在运行。这是一个经常被忽视的坑尤其是从“隐藏”到“显示”的流程没写对。还有一种情况是角色已经移出舞台边界。Scratch 坐标范围 x 在 -240 到 240y 在 -180 到 180。如果角色被移出这个范围气泡会跟着角色移动到舞台外视觉上等于看不到气泡。检查一下角色的 x、y 坐标是否在范围内。如果是空白气泡也就是气泡框在但没文字十有八九是文本参数被设置成了空字符串或者拼接积木里两个操作数都没有内容。可以单独把拼接结果用一个“说”积木显示出来排查它是否生成了期望的字符串。4.3 对话中出现乱码或问号Scratch 对 Unicode 支持整体没问题中文一般不会乱码。但如果你把文本从一个系统平台复制到另一个可能携带不可见字符或全角半角混淆。排查时最简单的方法是不要从外部文档复制文本到积木里直接在积木编辑框里输入中文。如果已经出问题就手动重新输入。另外变量名和判断值要保持一致。比如你判断“回答 晴”但侦测模块里玩家输入的是“晴 ”后面带一个空格这样等于判断失败。解决方案是在判断前先把回答内容里的空格去掉或者用“包含”运算符而不是等号。我自己的习惯是所有比较值都单独放进一个变量里维护比如“设定 正确天气 为 晴”然后判断“回答 包含 正确天气”。这样如果我想改判断标准只改一处变量赋值即可不用在几十个判断积木里翻找。4.4 多个角色同时说话时的气泡错乱多角色说话错乱的原因是并行脚本之间没有协作机制。最常见的是“广播”顺序没有设计好导致两个角色几乎同时收到同一个广播同时显示气泡覆盖了彼此。排查步骤如下检查广播链是否闭环。每个角色收到广播后必须广播下一个角色的名字否则链条会断掉。在关键广播处加“等待 0.2 秒”避免广播在瞬间转发多次导致两个角色撞车。使用“对话轮次”变量初始为 1每个角色判断“轮次 自己的序号”时才执行说话说话结束后将“轮次”加 1。这相当于一个简单的全局锁能彻底杜绝并行冲突。全局锁方案在复杂对话里更稳比如三人以上的对话。我给一个具象的样例// 角色 C 当接收到 [对话轮次更新] 如果 (对话轮次) 3 那么 说 我最后补充一点…… 4 秒 等待 4 秒 将 对话轮次 增加 1这种写法看似繁琐但实际运行非常可靠而且方便调试你可以直接在舞台监控面板上看到“对话轮次”变量的当前值定位是哪一环出了问题。4.5 字幕式台词与位置调节技巧如果你想做的是“字幕式对话”类似电影字幕角色不说话只显示台词在屏幕底部那么你需要的不是一个角色而是专门用一个“横幅角色”来承载台词。这个横幅角色可以用一个纯色矩形造型隐藏自身角色然后用“说”指令显示文本但把角色移动到舞台底部同时把它的大小设成非常大挡住角色本体。但这样做有个问题说话气泡的形状永远是圆角对话泡如果你想要的是“底部通栏字幕条”效果气泡样式就不适用。这时候更推荐的方案是用“造型切换”技巧把台词直接做成文字图片作为角色的多个造型然后通过“换成 造型 ”积木切换。这种方法的好处是排版完全可控字体、大小、底框、颜色都能自定义缺点是需要提前准备图片素材。还有一个替代方案就是“画笔”模块配合文字监测但这在 Scratch 里太绕了不推荐新手尝试。如果只是想简单地在底部显示文字用“说话”指令加上角色调整位置也可以凑合但放在正式展示项目里我还是建议用造型方案。4.6 排查表格速查症状优先排查点快速修复方法气泡一闪而过缺少等待积木台词被后续覆盖每句台词后加等长或略长的等待气泡不出现角色被隐藏或移出舞台边界检查显示状态和坐标范围气泡空白文本参数为空或拼接出错单独检测拼接结果检查字符串变量中文乱码外部文本复制带入异常字符直接在积木中重新输入避免复制粘贴多角色撞气泡并行脚本无协作机制改用广播接力或对话轮次变量气泡太宽超过舞台文本过长气泡自动折行后越界拆成多条说话指令或缩短文本台词没出现但脚本在跑说话积木在循环里高频覆盖检查重复执行里的说话指令频次我自己在实际教学中发现新手遇到的大部分说话指令问题都不是因为“不知道这个积木怎么放”而是因为没有理解“说话指令是即时生效且不阻塞后续指令”这一核心特性。把这个特性刻进脑子里很多问题就自然消失了。5. 扩展应用方向与实际教学建议5.1 把说话指令整合进游戏项目聊完了原理和排错我想再说说“说话指令”除了对话还能怎么用这才是它真正值钱的地方。在游戏项目里说话指令经常被当作“轻量级提示系统”。比如一个迷宫项目玩家第一次碰到墙壁时角色说“这条路走不通试试别的方向”玩家找到隐藏道具时角色说“发现了一个秘密入口”玩家连续尝试失败时角色说“要不要看看提示”这种动态提示比静态文字更有代入感因为它是根据变量值或事件触发的。具体实现上用“如果……那么”覆盖各种触发条件。我搭迷宫时会在每个碰撞检测分支里放一个“如果 碰到 墙壁 那么 说 此路不通”。注意这里为了避免重复触发用一个变量记录“上次提示时间”或“是否已经提示过”防止角色每帧都在烦人地重复同一句话。另一个典型用法是“教程模式”。很多教学类项目需要在玩家操作前给一句引导操作后又给一句反馈。这本质上是把“说话指令”嵌入整个交互流程。比如当接收到 [进入教程] 说 点击屏幕上的红色方块试试。 2 秒 等待 3 秒 当接收到 [方块被点击] 说 很好接下来试试绿色方块。 2 秒这种设计下说话指令从一个被动的“显示工具”变成了主动的“引导系统”它参与了游戏的互动闭环。5.2 角色观点表达与叙事强化Scratch 项目不只是游戏还经常用来做数字故事、科普动画、问答测验。这些类型的项目尤其依赖说话指令来传递内容。我见过一个学生做的作品一只小恐龙在讲解火山形成过程它每讲到一个阶段会切换到匹配的场景背景然后用“说”和“思考”交替呈现“科学事实”和“内心好奇”。这个作品有个地方让我印象很深小恐龙讲到岩浆温度时先说“岩浆的温度可以高达 1200 摄氏度”然后马上切换到思考气泡“比我家烤箱热多了”——这种把术语翻译成日常感受的写法就是用“思考”积木模拟角色主观感受和“说”积木呈现的客观信息形成对比整个叙事立刻变得有温度。所以创作时我强烈建议把“说”和“思考”当成一对搭配来用。科学解说、知识讲解类项目里“说”负责陈述事实“思考”负责表达角色的态度、疑问、联想。这样观众既能学到知识又不会觉得是在看干巴巴的教材。5.3 教学场景中的常见误区与纠正方法如果你是用 Scratch 带学生做项目的老师或家长留意以下几个高频误区误区一对话太长没有分段。学生容易一次性写一整段台词气泡变得又宽又高阅读体验差。纠正方法是规定单句不超过 20 个字内容多就拆成多句。误区二台词秒数全部一样。有的学生图省事所有“说”都填 2 秒。长句读不完短句又显得拖沓。纠正方法是建立“字数对应秒数”的规则表让学生自己查表填数值。误区三不看积木顺序乱摆一气。因为说话积木是非阻塞的学生把它和移动积木交叉放置时常常发现移动已经完成了台词才冒出来。纠正方法强调“脚本顺序 时间顺序”的概念用流程图讲清楚“先说什么再做什么再说什么”的序列。误区四滥用广播导致链条断裂。多角色对话用广播接力但广播名字拼写不一致或者某个角色漏写了广播发送链条就断了。纠正方法建立角色对话脚本的“预演表”写清每一步由谁说话、谁接收、谁广播。我发现学生如果能自己设计一段 30 秒的三角色对话并完整运行他们对 Scratch 的“事件驱动”“并行执行”“消息通信”这些核心概念的理解会比死记硬背积木用法深得多。所以带着学生做一个“广播剧小剧场”项目是巩固说话指令用法的最佳实战没有之一。5.4 积木组合与再创造最后分享一个我最近在项目中反复用到的组合说话指令加“计时器”变量再加“当作为克隆体启动时”事件可以做出一个多角色同时播报的舞台效果。比如要做“植物大战僵尸”风格的播报场上多个僵尸同时出现各自头顶冒出“来了”“这边也有”“数量很多”的台词。用常规写法每个僵尸的脚本里各写一条“说”但因为有克隆体说话气泡的显示就不会互相覆盖吗其实仍然可能因为克隆体虽然是不同实例但它们共享同一个角色外观气泡显示是角色级而不是克隆体级的。这就意味着克隆体 A 显示的气泡会同时显示在所有克隆体头顶。这个坑是说话指令最隐蔽的一个也是我在实际项目里踩得最深的。解决方案有两种一是用“私有变量”配合“显示/隐藏”来控制每个克隆体但气泡还是共享二是放弃用说话指令做克隆体播报改用“对话气泡造型”附着到克隆体上。所以如果你准备用克隆体做大批量角色对话建议提前想清楚气泡显示的局限性别等到运行时发现所有克隆体头顶都飘着同一句话那样调试起来会很折磨。6. 我的一点实操心得聊了这么多说点个人真实感受。我带过不少零基础的学生也复刻过不少“说话指令”相关的教学项目。如果说有一条经验最值得你记住那就是“说话”积木是 Scratch 里最容易上手、却也最容易被低估的积木。它看着简单但牵扯的底层概念一点也不简单脚本顺序、并行执行、事件调度、字符串处理、条件分支全都关系到。你把说话积木玩明白等于同时把 Scratch 的“程序执行逻辑”基础打牢了后面学变量、列表、自制积木都会顺很多。从项目创作角度看我特别建议你在做新项目时先别急着写代码。拿一张纸把角色的台词按“谁说、说什么、说多久、接着谁来说”列成一张表。这张表就是你的对话时间轴写完之后再上机拖积木整个过程会顺畅得多。很多学生对话脚本一团糟不是因为不会用积木而是因为脑子里根本没有这个“时间轴”意识。我在自己写剧本时还会额外标注每一句用的气泡类型是实心的“说”还是虚线的“思考”。这样在积木区拖的时候不会搞混台词的情绪层级。比如角色跟别人对话的内容用“说”自己心里打的小算盘用“思考”两者穿插使用观众马上就能感受到“表里不一”的戏剧效果。如果你把这个基本功练扎实了再回头去看那些“很炫”的 Scratch 对话作品会发现它们的骨架其实很简单无非就是“谁在什么时候说什么话、泡泡怎么出现、怎么消失、怎么跟其他事件联动”。复杂的只是表面包装内核永远是这个经典积木组合。

相关新闻

读懂开源项目入口文件,快速掌握代码架构与初始化流程

读懂开源项目入口文件,快速掌握代码架构与初始化流程

开源项目拿到手,第一件事不是跑起来,而是先找入口文件。这个习惯我保持了挺多年,尤其接触三国杀开源系列这类偏复杂的卡牌游戏项目时,入口文件就是整个项目的缩略图,能把代码架构、数据流向、功能边界一次性给你交代清…

2026/10/16 22:00:19 阅读更多 →
IE自动跳转Edge不用重装:从不设置+IE模式+批量运维全解

IE自动跳转Edge不用重装:从不设置+IE模式+批量运维全解

简介:资源针对微软停止IE服务后打开IE自动跳转Edge的常见问题,给出完整解决思路,面向因企事业单位业务系统、老旧网站或特定网银登录场景而仍须使用IE浏览器的办公人员、系统管理员及网站测试人员。文档以docx格式编排,共1个文件&…

2026/10/16 22:00:19 阅读更多 →
蓝桥杯双指针算法全解析:四大经典例题与核心套路

蓝桥杯双指针算法全解析:四大经典例题与核心套路

很多同学在备赛蓝桥杯的时候,一提到“双指针”三个字,第一反应是:这不就是两个下标来回挪吗?确实,双指针表面上看没什么高深理论,但真到了考场里,边界条件一出错,多写一个i少写一个j…

2026/10/16 22:00:19 阅读更多 →

最新新闻

Nanosaur2-670M的DiT架构深度解析:SPRINT稀疏块、2D RoPE、QK-norm与670M参数设计哲学

Nanosaur2-670M的DiT架构深度解析:SPRINT稀疏块、2D RoPE、QK-norm与670M参数设计哲学

大模型人工智能媒体生成计算机视觉基础模型本地部署 【免费下载链接】Nanosaur2-670M 项目地址: https://ai.gitcode.com/hf_mirrors/well9472/Nanosaur2-670M 点击查看 免费下载 Nanosaur2-670M 是一个仅花 600 美元算力训练出的 670M 参数插画文生图 DiT&#xf…

2026/10/16 22:48:15 阅读更多 →
SpringBoot+Vue纹理生成图片管理系统:从算法到前后端实现

SpringBoot+Vue纹理生成图片管理系统:从算法到前后端实现

做毕业设计选源码这事,我见过太多同学卡在同一个地方:要么系统太"玩具",只有登录注册加一张表,答辩老师看一眼就问"你的工作量在哪";要么功能堆得太散,前后端各写各的,问起…

2026/10/16 22:47:14 阅读更多 →
Vue项目微信公众号图片防盗链、跨域与canvas问题详解

Vue项目微信公众号图片防盗链、跨域与canvas问题详解

如果你的 Vue 项目里接过微信公众号的图片&#xff0c;我猜你大概率碰到过这种场景&#xff1a;后端接口把图片地址甩过来&#xff0c;浏览器一加载&#xff0c;<img>直接裂开&#xff0c;控制台冒出一串 403&#xff0c;或者是某个 HTTPS 混合内容错误。更麻烦的是&…

2026/10/16 22:47:14 阅读更多 →
AI智能体是什么?从核心原理到应用形态的完整拆解

AI智能体是什么?从核心原理到应用形态的完整拆解

1. 先搞清楚&#xff1a;智能体到底是什么1.1 从一个场景说起我经常举一个例子&#xff1a;你让普通AI助手“帮我把上个月所有项目相关的邮件找出来&#xff0c;按重要性排序&#xff0c;再写一份摘要发给团队”&#xff0c;它大概率只能给你一段泛泛的建议&#xff0c;告诉你“…

2026/10/16 22:47:14 阅读更多 →
Phoenix 映射 HBase 表:表映射与视图映射的选型与实战

Phoenix 映射 HBase 表:表映射与视图映射的选型与实战

1. 为什么要在 Phoenix 里映射 HBase 表&#xff0c;而不是直接建表很多人第一次接触 Phoenix&#xff0c;脑子里冒出来的第一个问题就是&#xff1a;我 HBase 里已经有一堆表了&#xff0c;难道还要用 Phoenix 再建一遍&#xff1f;答案是不用。Phoenix 最实用的一类场景&…

2026/10/16 22:46:13 阅读更多 →
省级PBF建筑白模制作:从原始数据到矢量瓦片的自动化流程

省级PBF建筑白模制作:从原始数据到矢量瓦片的自动化流程

做省级尺度的时候&#xff0c;最折磨人的从来不是怎么画楼&#xff0c;而是怎么把几十个GB的原始数据&#xff0c;变成浏览器里那一片干净利落的白色体块。PBF格式的数据包大家都懂&#xff0c;里面塞满了道路、水系、铁路、地块、POI等等内容&#xff0c;三分之一都不一定是建…

2026/10/16 22:46:13 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课&#xff0c;其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置&#xff0c;通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测&#xff0c;本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章&#xff0c;跟着敲完了投票应用&#xff0c;大概会有一种"我好像会了&#xff0c;又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型&#xff0c;下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →