搜索

Scratch 教程

基本介绍

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

图形与声音

绘制造型&背景 编辑音效

程序积木

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

扩充功能

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

技巧&观念

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

入门范例

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

进阶范例

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

视觉特效范例

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

绘图范例

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

物理&模拟范例

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

入门游戏范例

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

进阶游戏范例

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

团康游戏范例

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

游戏设计技巧

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

摇骰子 ( 1~3 个 )

在“摇骰子”的文章中已经可以操作单一个骰子,这篇教学会运用 Scratch 做出多个骰子的实例,并让用户自己选择 1~3 颗骰子,最后在画面中显示骰子的总点数。

相关文章参考:重复、分身、广播消息。

绘制角色

使用“绘画”方式新增一个名为“dice”的骰子角色,运用向量绘图工具绘制六个造型,分别是骰子 1~6 点六个面的正方形,正方形的中心点对齐画布中心点,六个面的造型名称分别设定为“1~6”。

小技巧:先画“一点”的造型,再使用复制造型后修改点数,就能让每个造型都固定位置和大小。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 绘制角色骰子角色

使用“绘画”方式新增一个名为“btn”的按钮角色,负责让用户切换 1~3 个骰子,运用向量绘图工具绘制三个圆形按钮,上面分别写上 1~3,正方形的中心点对齐画布中心点。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 绘制角色按钮角色

使用“绘画”方式新增一个名为“btn_start”的按钮角色,负责让用户点击之后会开始摇骰子,运用向量绘图工具绘制一个长方形,上面放入文字“摇骰子”,中心点对齐画布中心点。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 绘制摇骰子按钮角色

使用“绘画”方式新增一个名为“result”的文字角色,负责显示最后骰子的总点数,运用向量绘图工具新增 19 个造型,分别是“点数:1”一直到“点数:18”,最后一个造型是“点数:---”,造型名称使用“1~18”,最后一个造型名称设定为“0”。

小技巧:因为文字默认都是“置中对齐”,为了方便“靠左对齐”,可以将“位置:”和“数字”拆成两个文字对象,如此一来会比较容易调整位置。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 绘制摇骰子按钮角色

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 绘制摇骰子按钮角色

积木程序原理 ( btn_start 按钮 )

点击“btn_start”角色,设定点击绿旗时,定位并发送 run 广播信号,表示开始骰子骰子。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( dice 骰子 )

积木程序原理 ( btn 按钮 )

点击“btn”角色,设定点击绿旗时,位置固定在舞台左上方,并设定造型为 1、亮度 70。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( btn 按钮 )

新增一个名为“产生选择按钮”的函数,勾选“执行完毕再更新画面”,这个步骤可以快速执行内容的积木。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( btn 按钮 )

使用“隐藏本尊”搭配“建立分身”的方式,透过切换造型的方法,依序往右建立三个分别是 1、2、3 的分身按钮。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( btn 按钮 )

从左侧积木选单里,建立 btn 和 btn_local 两个变数。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( btn 按钮 )

注意!由于 btn_local 需使用“区域变数”,所以要勾选“仅适用当前角色”( 参考“全域变数、区域变数” )。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( btn 按钮 )

运用区域变数 btn_local 搭配分身,就能让不同的分身的 btn_local 具有不同数值 ( 参考“控制指定分身” ),接着就能根据数字,要求 btn_local 为 1 的分身恢复正常亮度,执行后,舞台中的按钮就只有第一颗会恢复成原本的亮度。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( btn 按钮 )

使用“重复无限次”搭配“逻辑判断”,制作点击分身的程序,当分身被点击时,将 btn 的数值更换为分身区域变数的 btn_local 数值,同时发送 click 广播消息以及分身的名称 ( 1~3 ),表示现在画面上要出现几个骰子。

接着设定收到 click 广播消息时 ( 每个分身都会收到 ),让分身判断自己的 btn_local 变数是否等于 btn 变数数值,如果相等 ( 表示点击 ),就恢复正常亮度,如果不相等 ( 表示没有点击 ),就提高亮度。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( btn 按钮 )

执行后,点击不同的按钮,该按钮就会呈现不同的颜色。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( btn 按钮 )

积木程序原理 ( dice 骰子 )

点击“dice”角色,设定点击绿旗时,位置固定在舞台中心,接着隐藏本尊 ( 待会会用分身呈现 ),将造型设定为 1,并发送 1 的广播消息,表示舞台上现在只有一颗骰子,新增 num 变数默认为 1,表示现在画面上是 1 点 ( 注意,这边两个 1 是不同的意义,广播消息表示有几个骰子,num 是指现在点数几点 )。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( dice 骰子 )

设定收到广播消息 1 时,设定 x 座标并产身份身,收到广播消息 2 时,设定两个座标并产生两个分身,收到广播消息 3 时,设定三个座标并产生三个分身,收到广播消息 click 时,表示要更换画面中骰子数量,只要删除分身就能清空 ( 在另外一个按钮,会等待 click 完成后再发送 1、2、3 的广播消息 )。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( dice 骰子 )

设定收到广播消息 run 时开始骰骰子,正在骰的时候设定 num 点数为 0,并寻找一个适合骰子的音效播放。接着设定产生分身时显示分身,使用重复无限次积木搭配等待,当 num 为 0 时更换 10 次随机造型,接着将 num 增加最后一个造型的点数,完成后发送 result 广播消息。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( dice 骰子 )

完成后点击切换骰子数量按钮,骰子数量就会跟着改变。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( dice 骰子 )

积木程序原理 ( result 结果显示 )

点击“result”角色,设定点击绿旗时,造型换成 1 点,接着按照下图,设定收到不同的广播消息时,更换成对应的点数造型。

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( dice 骰子 )

完成结果

全部完成后,点击绿旗,就可以开始进行骰骰子的游戏,并可以切换 1~3 颗骰子。

范例解答:摇骰子 Dice ( 可选择 1~3 个,自动加总点数 )

Scratch 教学 - 摇骰子 ( 可选择 1~3 个 ) - 积木程序原理 ( dice 骰子 )

延伸练习

如果已经熟悉了摇骰子的原理,还可以尝试更多好玩的作法:

  • 使用“文子转语音”的功能,念出目前的点数。
  • 让骰子随机的速度从快到慢。
  • 让三个骰子停止的时间不相同。

意见反馈

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