搜索

Scratch 教程

基本介绍

使用 Scratch 3 注册与登录 操作界面 我的东西

图形与声音

绘制造型&背景 编辑音效

程序积木

积木种类 动作 外观 音效 事件 控制 侦测 运算 变数 清单 函数积木

扩充功能

音乐 画笔 视频侦测 文字转语音 翻译

技巧&观念

全域变数、区域变数 深入理解区域变数 控制指定分身 控制所有分身的方法 云端变数 云端变数记录文字 变数串接文字 判断英文字母大小写 中断与停止程序 广播消息并等待 键盘与鼠标 鼠标点击与长按 侦测所有键盘按键 点击隐藏的角色 突破角色尺寸限制 角色与舞台边界 重复积木的等待时间 音乐暂停与继续播放 使用造型名称建立清单 使用造型代替变数 文字转清单 清单合并为文字 判断两个清单是否相同 复制清单、反转清单 清单数字排序 清单最大值最小值

入门范例

键盘控制猫咪 指向中间的箭头 水果音乐钢琴 猫咪的影分身之术 猫咪的细胞分裂 螃蟹跑来跑去 吃水果 摸蝴蝶 小狗追棒球 鱼儿水中游 小鸟往前飞 舞棍阿伯 小时钟 摇骰子 转动的眼球 抽奖轮盘 大乐透电脑选号 卡牌抽签 ( 20 中 1 ) 移动到边缘切换场景 人物依序跳舞 ( 广播 ) 按钮控制猫咪 ( 广播 )

进阶范例

猫咪跑步 ( 连续背景 ) 猫咪跑步 ( 超长背景 ) 大型数字 ( 图形数字 ) 拖拉怪兽碰撞墙壁 键盘钢琴 ( 记录音符 ) 中文字逐字稿 英文字逐字稿 计算机 1 ( 显示数字 ) 计算机 2 ( 加减乘除 ) 云端聊天室 音乐播放器 推猫咪 ( 视频侦测 ) 围捕小鱼 ( 视频侦测 ) 戳泡泡 ( 视频侦测 )

视觉特效范例

视差效果 水中吐泡泡 雪花随风飘 键盘钢琴 ( 音符动画 ) 无限循环画中画 水底探照灯 狙击望远镜 ( 两倍变焦 ) 猫咪万花筒 仙女棒 ( 光迹效果 ) 骇客任务背景特效 放烟火 1 ( 往上发射 ) 放烟火 2 ( 爆炸效果 )

绘图范例

镜射画图 ( 对称图形 ) 小画家 ( 舞台上画图 ) 记录画图轨迹 绘制圆形 绘制椭圆形 绘制立方体 ( 会动 ) 绘制正多边形 绘制正多角星形 ( 单纯 ) 绘制正多角星形 ( 多线 ) 绘制抛物线 绘制折线图 绘制圆饼图 绘制圆饼图 ( 指示线 ) 蜘蛛结网 ( 八边形网 ) 绘制舞台方格 绘制正弦波形 ( sin ) 正弦波毛毛虫动画 显示声波图形

物理&模拟范例

钟摆运动 简单磁铁效果 两个磁铁的磁力线 立体空间 ( 三度空间 ) 循迹移动 抛物线发射炮弹 地球绕着太阳转 弹跳的篮球 电风扇 ( 控制强度 ) 拉不走的弹力球 惯性移动 ( 鼠标 ) 惯性移动 ( 键盘 )

入门游戏范例

猴子接香蕉 打地鼠 打地鼠 ( 体感视频侦测 ) 刮刮乐 吹风机吹头发 太空狗闪躲陨石 九九乘法测验 英文单字测验 钓鱼游戏 拍西瓜 ( 储存最高分 ) 宝可梦猜猜我是谁 ( 基本 ) 形状配对拼图 台湾地图拼图 英文打字机 英文打字机 ( 判断大小写 ) 射击外星人 猜数字 ( 猜大小 ) 猜数字 ( 几 A 几 B ) 连连看 ( 产生器 ) 连连看

进阶游戏范例

青蛙过河 青蛙过马路 反弹球 ( 乒乓球 ) 打砖块 狙击气球 ( 两倍变焦 ) Flappy Bird Flappy Bird ( 声控版 ) 走迷宫 ( 基本 ) 大型迷宫 ( 键盘控制 ) 大型迷宫 ( 鼠标控制 ) 翻卡记忆游戏 翻卡记忆游戏 ( 改良版 ) 井字棋 ( 圈圈叉叉 ) 九宫格拼图 九宫格拼图 ( 改良版 ) 音阶记忆 贪吃蛇 ( 分身版 ) 贪吃蛇 ( 画笔版 ) 小鸡下楼梯 拉霸机

团康游戏范例

摇骰子 ( 1~3 个 ) 比手画脚 ( 猜动物 ) 音乐传球游戏 大声公 ( 比赛谁的气长 ) 抽签 ( 可调整中签数量 ) 转盘指针 ( 指到谁就当鬼 ) 倒数计时器 ( 基本版 ) 倒数计时器 ( 大数字版 )

游戏设计技巧

角色 ( 地上移动 ) 角色 ( 蹲下、左右转 ) 角色 ( 跳耀、两段跳 ) 角色 ( 墙壁、爬墙 ) 地图 ( 清单转换 ) 地图 ( 二维数组 ) 地图 ( 控制移动 ) 地图 ( 墙壁碰撞侦测 ) 地图 ( 吃东西侦测 ) 俄罗斯方块 ( 角色与背景 ) 俄罗斯方块 ( 移动与碰撞 ) 俄罗斯方块 ( 放置方块 ) 俄罗斯方块 ( 消除完成方块 ) 俄罗斯方块 ( 下个形状 )

倒数计时器 ( 大数字版 )

在“倒数计时 ( 基本版 )”里已经可以实作基本的倒数计时器,这篇教学将会更进一步,将倒数计时器改成“大型数字”的版本,并可以打开“设定画面”来进行倒数时间的设定。

快速导览:

绘制角色造型

使用“绘画”工具建立角色“number”,作为倒数计时的“显示数字”,使用“文字”工具在画布中输入数字,尺寸大约 56x124 ( 左侧造型可以看到实际尺寸 )。

Scratch 教学 - 倒数计时器 ( 具备设定画面、大型数字 ) - 使用“文字”工具在画布中输入数字

绘制 10 组造型,造型内容是 1~9 和 0,并根据造型内容设定造型名称为 1~10 ( 数字 0 的名称为 10 )。

Scratch 教学 - 倒数计时器 ( 具备设定画面、大型数字 ) - 根据造型内容设定造型名称为 1~10

使用“绘画”工具建立角色“setting”,作为倒数计时的“设定按钮”,点击后会弹出设定画面,使用“方形”工具在画布中绘制一个白色长方形,尺寸大约 279x86。

Scratch 教学 - 倒数计时器 ( 具备设定画面、大型数字 ) - 作为倒数计时的“设定按钮”

白色长方形的长宽尺寸如下图所示,可以将数字 00:00 完全包覆,根据个人设定的不同进行调整。

Scratch 教学 - 倒数计时器 ( 具备设定画面、大型数字 ) - 可以将数字 00:00 完全包覆

使用“绘画”工具建立角色“start”,作为倒数计时的“开始/暂停按钮”,点击后会开始倒数计时或暂停,角色中有三组造型,分别使用“方形”工具在画布中绘制一个绿色、红色和橘色长方形,绿色的文字为 START,红色的文字为 STOP,橘色的是 TIME's UP,尺寸大约 241x67。

Scratch 教学 - 倒数计时器 ( 具备设定画面、大型数字 ) - 倒数计时的“开始/暂停按钮”

使用“绘画”工具建立角色“reset”,作为倒数计时的“重新设定按钮”,点击后会将倒数时间归零重置,使用圆形和方形工具绘制按钮,尺寸大约 70x67。

Scratch 教学 - 倒数计时器 ( 具备设定画面、大型数字 ) - 倒数计时的“重新设定按钮”

使用“绘画”工具建立角色“bg”,作为倒数计时的“背景/设定面板”,角色包含两组造型,第一组是背景画面,名称设定为 bg,使用文字工具绘制。

Scratch 教学 - 倒数计时器 ( 具备设定画面、大型数字 ) - 倒数计时的“背景/设定面板”

角色“bg”的第二组造型是是设定面板,名称设定为 popup,使用方形工具和文字工具绘制,尺寸大约是 405x282,几乎将整个舞台遮蔽。

Scratch 教学 - 倒数计时器 ( 具备设定画面、大型数字 ) - 第二组造型是是设定面板

使用“绘画”工具建立角色“ok”,作为倒数计时的“确认设定按钮”,点击后会设定倒数时间,使用方形工具和文字绘制按钮,尺寸大约 122x55。

Scratch 教学 - 倒数计时器 ( 具备设定画面、大型数字 ) - 倒数计时的“重新设定按钮”

所有角色完成后,隐藏 ok 角色,并将其他角色在舞台上如下图的配置进行排列。

Scratch 教学 - 倒数计时器 ( 具备设定画面、大型数字 ) - 如下图的配置进行排列

积木程序原理 ( number )

点击“number”角色,从左侧积木清单里新增函数“显示数字”,函数里使用 x、y 和 num 三个参数,并勾选“执行完毕再更新画面”,这个函数会负责将放在 num 里的数字,转换成大型文字的方式显示。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 新增函数“显示数字”

“显示数字”函数里,使用 num_string 变数将 num 数字转换成文字,并在只有个位数字时于前方补 0,接着依序取出十位数和个位数,根据数字替换造型,接着透过“画笔”积木的“盖章”功能,在画面中盖下对应的造型。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 新增函数“显示数字”

完成后简单执行函数,舞台上就会出现大型数字。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 舞台上就会出现大型数字

新增函数“显示时间”函数,勾选“执行完毕再更新画面”,这个函数会负责显示目前倒数的时间。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 新增函数“显示时间”函数

设定点击绿旗的时候,将“分钟”和“秒”变数为 0,并执行“显示时间”函数,函数内容使用“显示数字”函数,在指定的位置显示“分钟、与“秒”变数的数值。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 执行“显示时间”函数

设定收到广播“start”的时候,如果“分钟”和“秒”都不为 0,就会进行每秒一次的重复循环,每次重复时将秒数减少 1,并换算分钟和秒数,当重复结束后发送“end”广播消息以及播放闹钟音效。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 每次重复时将秒数减少 1

按照下图设定收到广播“ok”、“reset”和“stop”的行为,ok 表示倒数时间设定完成要显示时间,reset 表示时间归零重设,stop 表示暂停倒数,其中 reset 和 stop 会透过“停止这个对象的其他程序”来停止倒数的重复循环。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 设定收到广播“ok”、“reset”和“stop”的行为

积木程序原理 ( setting )

点击“setting”角色,点击绿旗时除了定位,也设定图像效果“幻影”为 99.9 ( 由于设定 100 会造成“当角色被点击”积木无法点击,所以要设定为 99.9 使其“看不到但又点得到”,不过使用重复循环的方式仍然可以点击,参考“点击隐藏的角色” ),接着设定当角色被点击时,如果 state 变数为 stop 时就会发送 setting 广播消息,避免在倒数过程中还可以同时进行设定。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 设定图像效果“幻影”为 99.9

积木程序原理 ( start )

点击“start”角色,点击绿旗时除了定位,设定 state 变数为 stop,切换造型为 start,并设定面朝 90 度 ( 因为倒数结束时会抖动按钮表示时间到,所以一开始先定位角度 )。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 设定面朝 90 度

设定点击 start 角色时,停止其他所有重复的程序 ( 停止抖动效果 ),并根据目前的名称发送对应的信号和切换对应的造型。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 根据目前的名称发送对应的信号和切换对应的造型

设定收到广播“stop”和“reset”信号的程序,两者差异在于 reset 需要额外设定面朝 90 度以及停止其他重复循环。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 收到广播“stop”和“reset”信号的程序

设定收到广播“end”信号时表示倒数结束,除了将 state 设定为 end 以及改变造型,也会透过重复循环制作抖动效果。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 透过重复循环制作抖动效果

积木程序原理 ( reset )

点击“reset”角色,设定点击角色时,发送 reset 信号。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 点击角色时,发送 reset 信号

积木程序原理 ( bg )

点击“bg”角色,设定点击绿旗时,将造型改成 bg 并移动到最上方第二层,同时隐藏“分钟”和“秒”变数,收到 setting 信号时改成 popup 造型并显示变数,收到 ok 信号时又换成 bg 造型和隐藏变数,这个做法主要可以让角色在“背景”与“设定画面”之间做切换。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 让角色在“背景”与“设定画面”之间做切换

积木程序原理 ( ok )

点击“ok”角色,设定点击绿旗时,这个角色会随着 bg 角色而显示或隐藏,当 bg 角色是 popup 造型时会显示,是 bg 造型时会隐藏,点击角色时后发送 ok 的广播消息。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 随着 bg 角色而显示或隐藏

变数设定

点击“bg”角色,从左侧积木清单里,将“分钟”和“秒”变数勾选显示,并在舞台中使用鼠标在变数上按右键,选择“滑杆”。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 在舞台中使用鼠标在变数上按右键,选择“滑杆”

设定为滑杆后,继续按右键选择“变更滑杆数值范围”,将“秒”变数的数值范围设定为 0~59,“分钟”变数的数值范围设定为 0~99。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 变更滑杆数值范围

完成后点击数字打开设定画面,将按照下图将变数排列到适合的位置。

Scratch 教学 - ( 具备设定画面、大型数字 ) - 按照下图将变数排列到适合的位置

完成效果

所有角色的程序都完成后,点击绿旗,点击数字就能设定倒数时间,点击 START 就开始倒数,时间结束后会产生抖动效果。

Scratch 教学 - ( 具备设定画面、大型数字 )

范例解答

范例解答:Scratch 教学 - ( 具备设定画面、大型数字 )

意见反馈

微信二维码 微信扫码关注 抖音二维码 抖音扫码关注